1 | #ifndef MARS_MRflSinglePhoton
|
---|
2 | #define MARS_MRflSinglePhoton
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class TH1;
|
---|
9 | class TH2;
|
---|
10 | class TH3;
|
---|
11 |
|
---|
12 | class MRflSinglePhoton : public MParContainer
|
---|
13 | {
|
---|
14 | private:
|
---|
15 | Float_t fX; // [mm] camera impact point
|
---|
16 | Float_t fY; // [mm] camera impact point
|
---|
17 | Float_t fCosU; // [1] camera direction cosine
|
---|
18 | Float_t fCosV; // [1] camera direction cosine
|
---|
19 | Float_t fTime; // [ns] arrival time
|
---|
20 | Float_t fHeight; // [cm] production height
|
---|
21 | Float_t fPhi; // [rad] camera inc. angle (rad)
|
---|
22 |
|
---|
23 | public:
|
---|
24 | MRflSinglePhoton() { }
|
---|
25 | MRflSinglePhoton(const MRflSinglePhoton &ph)
|
---|
26 | : fX(ph.fX), fY(ph.fY), fCosU(ph.fCosU), fCosV(ph.fCosV),
|
---|
27 | fTime(ph.fTime), fHeight(ph.fHeight), fPhi(ph.fPhi)
|
---|
28 | {
|
---|
29 | }
|
---|
30 |
|
---|
31 | void SetXY(Float_t x, Float_t y) { fX = x; fY=y; }
|
---|
32 | void SetCosUV(Float_t u, Float_t v) { fCosU = u; fCosV=v; }
|
---|
33 | void SetTime(Float_t t) { fTime = t; }
|
---|
34 | void SetHeight(Float_t h) { fHeight = h; }
|
---|
35 | void SetInclinationAngle(Float_t phi) { fPhi = phi; }
|
---|
36 |
|
---|
37 | Float_t GetX() const { return fX; }
|
---|
38 | Float_t GetY() const { return fY; }
|
---|
39 |
|
---|
40 | void FillRad(TH1 &hist, Float_t scale=1) const;
|
---|
41 | void FillRad(TH2 &hist, Double_t x, Float_t scale=1) const;
|
---|
42 | void Fill(TH2 &hist, Float_t scale=1) const;
|
---|
43 | void Fill(TH3 &hist, Double_t z, Float_t scale=1) const;
|
---|
44 |
|
---|
45 | void Print(Option_t *o="") const;
|
---|
46 |
|
---|
47 | ClassDef(MRflSinglePhoton, 0) // Single Photon of a event from the reflector program
|
---|
48 |
|
---|
49 | };
|
---|
50 |
|
---|
51 | #endif
|
---|