source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/simulation/radiativetransfer/include/PhotonsOnPupil.hh @ 117

Last change on this file since 117 was 117, checked in by moretto, 11 years ago

ESAF version compilable on mac OS

File size: 1.7 KB
Line 
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
20class Photon;
21
22class PhotonsOnPupil {
23public:
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
41protected:
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
Note: See TracBrowser for help on using the repository browser.