FairRoot/PandaRoot
PndGemFindHits.h
Go to the documentation of this file.
1 //* $Id: */
2 
3 // -------------------------------------------------------------------------
4 // ----- PndGemFindHits header file -----
5 // ----- Created 15/02/2009 by R. Karabowicz -----
6 // -------------------------------------------------------------------------
7 
8 
20 #ifndef PNDGEMFINDHITS_H
21 #define PNDGEMFINDHITS_H 1
22 
23 
24 #include <PndPersistencyTask.h>
25 #include "TStopwatch.h"
26 #include "TH2F.h"
27 #include "TVector3.h"
28 
29 #include <map>
30 #include <set>
31 #include <vector>
32 
33 class TH1F;
34 class TClonesArray;
35 class PndGemMonitor;
36 class PndGemDigiPar;
37 class PndGemSensor;
38 class PndGemStation;
39 class PndGemCluster;
40 class PndGemDigitize;
41 
43 {
44 
45 
46  public :
47 
50 
51 
53  PndGemFindHits(Int_t iVerbose);
54 
55 
57  PndGemFindHits(const char* name, Int_t iVerbose);
58 
59 
61  virtual ~PndGemFindHits();
62  void ConfirmHits(); //why in public??
63  void ActivateDigis(); //why in public??
64 
65 
67  virtual void Exec(Option_t* opt);
68 
69  void SetUseClusters(Bool_t bt=kTRUE) {fUseClusters = bt;}
70 
71  void RunTimeBased(Bool_t bt=kTRUE) {fTimeOrderedDigi = bt;}
72 
73  Bool_t GetTimeBased() const { return fTimeOrderedDigi; }
74 
75  void SetHitWindow(Double_t dd=1.5) {fHitWindow = dd;}
76 
77  private:
78 
81  TClonesArray* fDigis;
82  TClonesArray* fHits;
83  TClonesArray* fHitsTemp;
84  std::map<PndGemSensor*, std::set<Int_t> > fDigiMapF;
85  std::map<PndGemSensor*, std::set<Int_t> > fDigiMapB;
90 
98 
99  Int_t fTNofEvents;
100  Int_t fTNofDigis;
101  Int_t fTNofHits;
103 
104  TStopwatch fTimer;
105 
107  virtual void SetParContainers();
108 
109 
111  virtual InitStatus Init();
112 
113 
115  virtual InitStatus ReInit();
116 
117 
119  void MakeSets();
120 
121 
123  void SortDigis();
124 
125 
128  std::set<Int_t>& fSet, std::set<Int_t>& bSet);
129 
130 
132  Int_t FindHits2(PndGemSensor* sensor,
133  std::set<Int_t>& fSet, std::set<Int_t>& bSet);
134 
136  void ConfirmHits2();
137 
139  virtual void Finish();
140 
141 
143 
144 };
145 
146 #endif
Bool_t GetTimeBased() const
Double_t fActivateTime
void SetUseClusters(Bool_t bt=kTRUE)
Double_t fAllTime
PndGemMonitor * fMonitor
TClonesArray * fDigis
void SetHitWindow(Double_t dd=1.5)
TGeoVolume * sensor
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:31
virtual void SetParContainers()
virtual void Exec(Option_t *opt)
std::map< PndGemSensor *, std::set< Int_t > > fDigiMapF
std::map< PndGemSensor *, std::set< Int_t > > fDigiMapB
TClonesArray * fHitsTemp
Double_t
Int_t FindHits2(PndGemSensor *sensor, std::set< Int_t > &fSet, std::set< Int_t > &bSet)
virtual void Finish()
Double_t fPrepTime
TString name
Int_t fMCPointBranchId
Double_t fSortTime
Double_t fConfirmTime
ClassDef(PndGemFindHits, 1)
TClonesArray * fHits
Int_t iVerbose
Digitization Parameter Class for GEM part.
Definition: PndGemMonitor.h:36
Int_t FindHits(PndGemSensor *sensor, std::set< Int_t > &fSet, std::set< Int_t > &bSet)
virtual ~PndGemFindHits()
PndGemDigiPar * fDigiPar
/** GEM monitor **/
virtual InitStatus Init()
TStopwatch fTimer
void RunTimeBased(Bool_t bt=kTRUE)
Double_t fCreateTime
virtual InitStatus ReInit()
Bool_t fTimeOrderedDigi
Double_t fHitWindow