1 | // ESAF : Euso Simulation and Analysis Framework |
---|
2 | // $Id: OADBPhotons.hh 768 2004-06-16 13:35:19Z thea $ |
---|
3 | // A.Thea, J.Watts created Mar, 16 2004 |
---|
4 | |
---|
5 | #include "TObject.h" |
---|
6 | |
---|
7 | #ifndef __OADBPHOTONS_HH_ |
---|
8 | #define __OADBPHOTONS_HH_ |
---|
9 | |
---|
10 | class Photon; |
---|
11 | |
---|
12 | class OADBPhotons: public TObject { |
---|
13 | public: |
---|
14 | // ctor |
---|
15 | OADBPhotons(); |
---|
16 | |
---|
17 | // dtor |
---|
18 | virtual ~OADBPhotons(); |
---|
19 | |
---|
20 | inline const Float_t* GetThroughput() const { return fThroughput;} |
---|
21 | inline const Float_t* GetXOut() const { return fXOut;} |
---|
22 | inline const Float_t* GetYOut() const { return fYOut;} |
---|
23 | inline const Float_t* GetThetaOut() const { return fThetaOut;} |
---|
24 | inline const Float_t* GetPhiOut() const { return fPhiOut;} |
---|
25 | inline Int_t GetSize() const { return fNumPhotons; } |
---|
26 | inline Float_t GetAngle() const { return fThetaFoV; } |
---|
27 | inline Int_t GetAngleId() const { return fAngleId; } |
---|
28 | inline Float_t GetWavelength() const { return fLambda; } |
---|
29 | inline Int_t GetWavelengthId() const { return fWlId; } |
---|
30 | |
---|
31 | void Clean(); |
---|
32 | |
---|
33 | Bool_t SetSize(Int_t); |
---|
34 | void SetAngle( Float_t th, Int_t id=-1 ){ fThetaFoV = th; fAngleId = id; } |
---|
35 | void SetWavelength( Float_t wl, Int_t id=-1 ){ fLambda = wl; fWlId = id; } |
---|
36 | |
---|
37 | Bool_t SavePhoton(Int_t, Photon *, Float_t); |
---|
38 | Bool_t SaveGhost(Int_t); |
---|
39 | |
---|
40 | private: |
---|
41 | Float_t fLambda; // wavelength |
---|
42 | Float_t fThetaFoV; // angle |
---|
43 | |
---|
44 | Int_t fAngleId; // angle id, used in the binary file building (-1 if none) |
---|
45 | Int_t fWlId; // wavelength id, used in the binary file building (-1 if none) |
---|
46 | |
---|
47 | Int_t fNumPhotons; // size of the photons' array |
---|
48 | Float_t *fThroughput; //[fNumPhotons] |
---|
49 | Float_t *fXOut; //[fNumPhotons] |
---|
50 | Float_t *fYOut; //[fNumPhotons] |
---|
51 | Float_t *fThetaOut; //[fNumPhotons] |
---|
52 | Float_t *fPhiOut; //[fNumPhotons] |
---|
53 | |
---|
54 | ClassDef(OADBPhotons,1) |
---|
55 | }; |
---|
56 | |
---|
57 | #endif /* __OADBPHOTONS_HH_ */ |
---|
58 | |
---|