1 | // $Id: PhotonsOnPupil.hh 2863 2011-02-18 11:00:44Z biktem $ |
---|
2 | // Author: D. De Marco - M. Pallavicini created Jan, 20 2002 |
---|
3 | |
---|
4 | /***************************************************************************** |
---|
5 | * ESAF: Euso Simulation and Analysis Framework * |
---|
6 | * * |
---|
7 | * Id: PhotonsOnPupil * |
---|
8 | * Package: RadiativeTransfer * |
---|
9 | * Coordinator: Sylvain.Moreggia * |
---|
10 | * * |
---|
11 | *****************************************************************************/ |
---|
12 | |
---|
13 | #ifndef __PHOTONSONPUPIL_HH__ |
---|
14 | #define __PHOTONSONPUPIL_HH__ |
---|
15 | |
---|
16 | #include "euso.hh" |
---|
17 | #include "EsafRefFrame.hh" |
---|
18 | #include "EsafMsgSource.hh" |
---|
19 | |
---|
20 | class Photon; |
---|
21 | |
---|
22 | class PhotonsOnPupil { |
---|
23 | public: |
---|
24 | PhotonsOnPupil(); |
---|
25 | virtual ~PhotonsOnPupil(); |
---|
26 | |
---|
27 | virtual Photon* GetPhoton() = 0; |
---|
28 | |
---|
29 | virtual void Clear() = 0; |
---|
30 | virtual void Rewind() { fCurrent = 0; } |
---|
31 | |
---|
32 | inline virtual Int_t GetNphotons() const { return fNphotons; } |
---|
33 | |
---|
34 | virtual EsafRefFrame* GetFrame() const { return fFrame; } |
---|
35 | |
---|
36 | virtual void AddFrame( EsafRefFrame* frame ) { SafeDelete(fFrame); fFrame = frame; } |
---|
37 | virtual void ClearFrame() { SafeDelete(fFrame); } |
---|
38 | |
---|
39 | virtual Bool_t ClearMemory() = 0; |
---|
40 | |
---|
41 | protected: |
---|
42 | |
---|
43 | UInt_t fCurrent; // photon counter |
---|
44 | UInt_t fNphotons; // number of photons to be generated |
---|
45 | EsafRefFrame *fFrame; // reference frame in which photon's are described |
---|
46 | |
---|
47 | |
---|
48 | ClassDef(PhotonsOnPupil,0) |
---|
49 | }; |
---|
50 | |
---|
51 | #endif /* __PHOTONSONPUPIL_HH__ */ |
---|
52 | |
---|