PandaRoot
PndEmc2DLocMaxFinder.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // Description:
3 // Class EmcERatioLocMaxMaxFinder./
4 // Searches for local maxima in a cluster based on the ratio
5 // between the energy of the maxima crystal and that of
6 // its neighbours
7 //
8 // Environment:
9 // Software developed for the BaBar Detector at the SLAC B-Factory.
10 //
11 // Adapted for the PANDA experiment at GSI
12 //
13 // Author List:
14 // Phil Strother
15 // Helmut Schmuecker Ruhr-Uni Bochum
16 //
17 // Copyright Information:
18 // Copyright (C) 1997 Imperial College
19 // Modified:
20 // M. Babai
21 //------------------------------------------------------------------------
22 //#pragma once
23 #ifndef PNDEMC2DLOCALMAXFINDER_H
24 #define PNDEMC2DLOCALMAXFINDER_H
25 
26 #include <PndPersistencyTask.h>
27 #include "TObject.h"
28 #include "TClonesArray.h"
29 #include "PndEmcDataTypes.h"
30 
31 class PndEmcDigi;
32 class PndEmcCluster;
34 class PndEmcGeoPar;
35 class PndEmcDigiPar;
36 class PndEmcRecoPar;
37 
43  public:
44  // Constructors
45  PndEmc2DLocMaxFinder(Int_t verbose = 0);
46  // Destructor
47  virtual ~PndEmc2DLocMaxFinder();
48 
49  virtual InitStatus Init();
50  virtual void Exec(Option_t *opt);
51 
52  void SetStorageOfData(Bool_t p = kTRUE) { SetPersistency(p); };
53 
54  protected:
56  virtual void SetParContainers();
60  virtual bool isALocalMax(const PndEmcDigi *const, const PndEmcCluster *const, const PndEmcCoordIndexSet &amongstTheseNeighbours) const;
61 
62  private:
63  // Methods
64  void getNeighbourDigis(PndEmcCoordIndexSet &, PndEmcCoordIndexSet &, int, std::map<Int_t, Int_t>) const;
65  // don't allow copying (-Weffc++)
66  PndEmc2DLocMaxFinder(const PndEmc2DLocMaxFinder &); // no implementation
67  PndEmc2DLocMaxFinder &operator=(const PndEmc2DLocMaxFinder &); // no implementation
68 
70  TClonesArray *fClusterArray;
72  TClonesArray *fDigiArray;
73 
74  PndEmcGeoPar *fGeoPar;
75  PndEmcDigiPar *fDigiPar;
76  PndEmcRecoPar *fRecoPar;
77 
78  // Data members
79  Double_t fMaxECut;
80  Double_t fNeighbourECut;
81  Double_t fCutSlope;
82  Double_t fCutOffset;
83  Double_t fERatioCorr;
84  Int_t fTheNeighbourLevel;
85 
86  /* Verbosity level */
87  // Int_t fVerbose; //do not shadow PndPersistencyTask::fVerbose
88 
89  ClassDef(PndEmc2DLocMaxFinder, 2);
90 };
91 #endif // PNDEMC2DLOCALMAXFINDER_HH
virtual bool isALocalMax(const PndEmcDigi *const, const PndEmcCluster *const, const PndEmcCoordIndexSet &amongstTheseNeighbours) const
void SetStorageOfData(Bool_t p=kTRUE)
void SetPersistency(Bool_t val=kTRUE)
stores crystal index coordinates (x,y) or (theta,phi)
virtual ~PndEmc2DLocMaxFinder()
virtual void SetParContainers()
virtual InitStatus Init()
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
std::set< PndEmcTwoCoordIndex * > PndEmcCoordIndexSet
PndEmc2DLocMaxFinder(Int_t verbose=0)
virtual void Exec(Option_t *opt)
Searches for local maxima in a cluster.
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12