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 
18 #ifndef PNDGEMFINDHITS_H
19 #define PNDGEMFINDHITS_H 1
20 
21 #include <PndPersistencyTask.h>
22 #include "TStopwatch.h"
23 #include "TH2F.h"
24 #include "TVector3.h"
25 
26 #include <map>
27 #include <set>
28 #include <vector>
29 
30 class TH1F;
31 class TClonesArray;
32 class PndGemMonitor;
33 class PndGemDigiPar;
34 class PndGemSensor;
35 class PndGemStation;
36 class PndGemCluster;
37 class PndGemDigitize;
38 
40 
41  public:
44 
46  PndGemFindHits(Int_t iVerbose);
47 
49  PndGemFindHits(const char *name, Int_t iVerbose);
50 
52  virtual ~PndGemFindHits();
53  void ConfirmHits(); // why in public??
54  void ActivateDigis(); // why in public??
55 
57  virtual void Exec(Option_t *opt);
58 
59  void SetUseClusters(Bool_t bt = kTRUE) { fUseClusters = bt; }
60 
61  void RunTimeBased(Bool_t bt = kTRUE) { fTimeOrderedDigi = bt; }
62 
63  Bool_t GetTimeBased() const { return fTimeOrderedDigi; }
64 
65  void SetHitWindow(Double_t dd = 1.5) { fHitWindow = dd; }
66 
67  private:
68  PndGemMonitor *fMonitor;
69  PndGemDigiPar *fDigiPar;
70  TClonesArray *fDigis;
71  TClonesArray *fHits;
72  TClonesArray *fHitsTemp;
73  std::map<PndGemSensor *, std::set<Int_t>> fDigiMapF;
74  std::map<PndGemSensor *, std::set<Int_t>> fDigiMapB;
76  Int_t fMCPointBranchId;
77  Bool_t fUseClusters;
78  Bool_t fTimeOrderedDigi;
79 
80  Double_t fPrepTime;
81  Double_t fSortTime;
82  Double_t fCreateTime;
83  Double_t fConfirmTime;
84  Double_t fActivateTime;
85  Double_t fAllTime;
86  Double_t fHitWindow;
87 
88  Int_t fTNofEvents;
89  Int_t fTNofDigis;
90  Int_t fTNofHits;
91  Int_t fTNofHitsTemp;
92 
93  TStopwatch fTimer;
94 
96  virtual void SetParContainers();
97 
99  virtual InitStatus Init();
100 
102  virtual InitStatus ReInit();
103 
105  void MakeSets();
106 
108  void SortDigis();
109 
111  Int_t FindHits(PndGemSensor *sensor, std::set<Int_t> &fSet, std::set<Int_t> &bSet);
112 
114  Int_t FindHits2(PndGemSensor *sensor, std::set<Int_t> &fSet, std::set<Int_t> &bSet);
115 
117  void ConfirmHits2();
118 
120  virtual void Finish();
121 
122  ClassDef(PndGemFindHits, 1);
123 };
124 
125 #endif
void SetUseClusters(Bool_t bt=kTRUE)
void SetHitWindow(Double_t dd=1.5)
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:30
void ConfirmHits()
Bool_t GetTimeBased() const
virtual ~PndGemFindHits()
virtual void Exec(Option_t *opt)
Digitization Parameter Class for GEM part.
Definition: PndGemMonitor.h:35
void ActivateDigis()
void RunTimeBased(Bool_t bt=kTRUE)