1 | #ifndef MARS_MArrivalTimePix
|
---|
2 | #define MARS_MArrivalTimePix
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MArrivalTimePix : public MParContainer
|
---|
9 | {
|
---|
10 | private:
|
---|
11 | Float_t fArrivalTimeHiGain; // mean value of the ArrivalTime
|
---|
12 | Float_t fArrivalTimeHiGainError; // error of the mean value of the ArrivalTime
|
---|
13 | Float_t fArrivalTimeLoGain; // mean value of the ArrivalTime
|
---|
14 | Float_t fArrivalTimeLoGainError; // error of the mean value of the ArrivalTime
|
---|
15 |
|
---|
16 | Byte_t fNumHiGainSaturated; // Number of first hi-gain slice which has saturated (could be negative if already the first slice saturates)
|
---|
17 | Byte_t fNumLoGainSaturated; // Number of first lo-gain slices which have saturated
|
---|
18 |
|
---|
19 | public:
|
---|
20 | MArrivalTimePix(const char* name=NULL, const char* title=NULL);
|
---|
21 |
|
---|
22 | void Clear(Option_t *o="");
|
---|
23 | void Print(Option_t *o="") const;
|
---|
24 | void Copy(TObject &obj) const
|
---|
25 | {
|
---|
26 | MArrivalTimePix &pix = static_cast<MArrivalTimePix&>(obj);
|
---|
27 |
|
---|
28 | pix.fArrivalTimeHiGain = fArrivalTimeHiGain;
|
---|
29 | pix.fArrivalTimeHiGainError = fArrivalTimeHiGainError;
|
---|
30 | pix.fArrivalTimeLoGain = fArrivalTimeLoGain;
|
---|
31 | pix.fArrivalTimeLoGainError = fArrivalTimeLoGainError;
|
---|
32 |
|
---|
33 | pix.fNumHiGainSaturated = fNumHiGainSaturated;
|
---|
34 | pix.fNumLoGainSaturated = fNumLoGainSaturated;
|
---|
35 | }
|
---|
36 |
|
---|
37 | // Setter
|
---|
38 | void SetArrivalTime(Float_t sig, Float_t sigerr=0);
|
---|
39 | void SetArrivalTime(Float_t sighi, Float_t sighierr,Float_t siglo, Float_t sigloerr);
|
---|
40 | void SetGainSaturation(Byte_t higain, Byte_t logain=0);
|
---|
41 |
|
---|
42 | // Getter
|
---|
43 | Float_t GetArrivalTimeHiGain() const { return fArrivalTimeHiGain; }
|
---|
44 | Float_t GetArrivalTimeHiGainError() const { return fArrivalTimeHiGainError; }
|
---|
45 |
|
---|
46 | Float_t GetArrivalTimeLoGain() const { return fArrivalTimeLoGain; }
|
---|
47 | Float_t GetArrivalTimeLoGainError() const { return fArrivalTimeLoGainError; }
|
---|
48 |
|
---|
49 | Float_t GetArrivalTime() const;
|
---|
50 | Bool_t IsArrivalTimeValid() const;
|
---|
51 |
|
---|
52 | Byte_t GetNumHiGainSaturated() const { return fNumHiGainSaturated; }
|
---|
53 | Byte_t GetNumLoGainSaturated() const { return fNumLoGainSaturated; }
|
---|
54 |
|
---|
55 | Bool_t IsHiGainSaturated() const { return fNumHiGainSaturated>0; }
|
---|
56 | Bool_t IsLoGainSaturated() const { return fNumLoGainSaturated>0; }
|
---|
57 |
|
---|
58 | Bool_t IsLoGainValid() const { return fArrivalTimeLoGainError>=0; }
|
---|
59 | Bool_t IsHiGainValid() const { return fArrivalTimeHiGainError>=0; }
|
---|
60 |
|
---|
61 | ClassDef(MArrivalTimePix, 1) // Storage Container for ArrivalTime information of one pixel
|
---|
62 | };
|
---|
63 |
|
---|
64 | #endif
|
---|