// $Id: PhotonsOnPupil.hh,v 1.15 2005/10/31 10:56:12 moreggia Exp $ // Author: D. De Marco - M. Pallavicini created Jan, 20 2002 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: PhotonsOnPupil * * Package: RadiativeTransfer * * Coordinator: Sylvain.Moreggia * * * *****************************************************************************/ #ifndef __PHOTONSONPUPIL_HH__ #define __PHOTONSONPUPIL_HH__ #include "euso.hh" #include "EsafRefFrame.hh" #include "EsafMsgSource.hh" class Photon; class PhotonsOnPupil { public: PhotonsOnPupil(); virtual ~PhotonsOnPupil(); virtual Photon* GetPhoton() = 0; virtual void Clear() = 0; virtual void Rewind() { fCurrent = 0; } inline virtual Int_t GetNphotons() const { return fNphotons; } virtual EsafRefFrame* GetFrame() const { return fFrame; } virtual void AddFrame( EsafRefFrame* frame ) { SafeDelete(fFrame); fFrame = frame; } virtual void ClearFrame() { SafeDelete(fFrame); } protected: UInt_t fCurrent; // photon counter UInt_t fNphotons; // number of photons to be generated EsafRefFrame *fFrame; // reference frame in which photon's are described ClassDef(PhotonsOnPupil,0) }; #endif /* __PHOTONSONPUPIL_HH__ */