FairRoot/PandaRoot
PndGemSensorMonitor.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGemSensorMonitor header file -----
3 // ----- Created 12/02/2009 by R. Karabowicz -----
4 // -------------------------------------------------------------------------
5 
17 #ifndef PNDGEMSENSORMONITOR_H
18 #define PNDGEMSENSORMONITOR_H 1
19 
20 #include "TNamed.h"
21 #include "PndDetectorList.h"
22 #include "PndGemSensor.h"
23 
24 #include <map>
25 #include <list>
26 #include <set>
27 #include <vector>
28 
29 
31 {
32 
33  public:
34 
37 
38 
53  PndGemSensorMonitor(TString tempName, Int_t detId, Int_t iType,
56  Double_t innerRad, Double_t outerRad,
57  Double_t d,
58  Double_t stripAngle0, Double_t stripAngle1,
59  Double_t pitch0, Double_t pitch1);
60  PndGemSensorMonitor(TString tempName, Int_t stationNr, Int_t sectorNr, Int_t iType,
61  Double_t x0, Double_t y0, Double_t z0,
62  Double_t rotation,
63  Double_t innerRad, Double_t outerRad,
64  Double_t d,
65  Double_t stripAngle0, Double_t stripAngle1,
66  Double_t pitch0, Double_t pitch1);
67  PndGemSensorMonitor(const PndGemSensor &tempSensor);
68 
69 
71  virtual ~PndGemSensorMonitor();
72 
75  // Make a channel active
76  void ActivateChannel(Int_t channelNr, Int_t sideId, Int_t eventNr, Int_t digiNr, Double_t channelTime, Double_t channelCharge);
77 
78  void CheckNeighbours(Int_t channelNr, Int_t sideId, Int_t eventNr, Int_t digiNr, Double_t channelTime, Double_t channelCharge);
79 
82  // Return kTRUE if channel was activated no more than fSensorRecoveryTime nanoseconds before
83  Bool_t ChannelIsActive (Int_t channelNr, Int_t sideId, Double_t timeNow);
84 
85  // Return number of seconds between now and last activation
86  Double_t ChannelLastActiveAt(Int_t channelNr, Int_t sideId, Double_t timeNow, Int_t eventNr=-1);
87 
88  // Return last activation time
89  Double_t ChannelLastActiveAt(Int_t channelNr, Int_t sideId);
90 
91  // Return last activation data
92  Bool_t ChannelLastActivation(Int_t channelNr, Int_t sideId, Int_t& eventNr, Int_t& digiNr, Double_t& channelTime, Double_t& channelCharge);
93 
95  void Print();
96 
97 
98 
99  private:
100 
103  // LA: LastActivation
104  // Front
105  std::vector<Double_t> fFLATime;
106  std::vector<Double_t> fFLACharge;
107  std::vector<Int_t> fFLADigiNr;
108  std::vector<Int_t> fFLAEventNr;
109  std::vector<Double_t> fFMeanTimeD;
110  std::vector<Int_t> fFNofDigis;
111  Int_t fFSLChan;
112  // Back
113  std::vector<Double_t> fBLATime;
114  std::vector<Double_t> fBLACharge;
115  std::vector<Int_t> fBLADigiNr;
116  std::vector<Int_t> fBLAEventNr;
117  std::vector<Double_t> fBMeanTimeD;
118  std::vector<Int_t> fBNofDigis;
119  Int_t fBSLChan;
120 
124 
126 
127 };
128 
129 
130 
131 
132 #endif
Double_t z0
Definition: checkhelixhit.C:62
Double_t ChannelLastActiveAt(Int_t channelNr, Int_t sideId, Double_t timeNow, Int_t eventNr=-1)
Double_t x0
Definition: checkhelixhit.C:70
std::vector< Int_t > fBLADigiNr
void ActivateChannel(Int_t channelNr, Int_t sideId, Int_t eventNr, Int_t digiNr, Double_t channelTime, Double_t channelCharge)
std::vector< Double_t > fBMeanTimeD
TObjArray * d
TGeoRotation rotation
ClassDef(PndGemSensorMonitor, 1)
std::vector< Double_t > fFLACharge
std::vector< Double_t > fBLACharge
std::vector< Int_t > fFLADigiNr
Double_t
Double_t y0
Definition: checkhelixhit.C:71
std::vector< Double_t > fFMeanTimeD
std::vector< Int_t > fBLAEventNr
std::vector< Int_t > fBNofDigis
std::vector< Double_t > fFLATime
std::vector< Int_t > fFLAEventNr
Bool_t ChannelIsActive(Int_t channelNr, Int_t sideId, Double_t timeNow)
std::vector< Double_t > fBLATime
Bool_t ChannelLastActivation(Int_t channelNr, Int_t sideId, Int_t &eventNr, Int_t &digiNr, Double_t &channelTime, Double_t &channelCharge)
std::vector< Int_t > fFNofDigis
void CheckNeighbours(Int_t channelNr, Int_t sideId, Int_t eventNr, Int_t digiNr, Double_t channelTime, Double_t channelCharge)