// ESAF : Euso Simulation and Analysis Framework // $Id: DiffusePhotonsOnPupil.hh,v 1.9 2005/10/11 17:46:41 thea Exp $ // A.Thea created Apr, 18 2004 #ifndef __DIFFUSEPHOTONSONPUPIL_HH_ #define __DIFFUSEPHOTONSONPUPIL_HH_ #include "euso.hh" #include "PhotonsOnPupil.hh" #include "ParentPhoton.hh" #include "EsafConfigurable.hh" #include "EsafMsgSource.hh" #include "TH1F.h" class OpticalSystem; class EsafSpectrum; class DiffusePhotonsOnPupil : public PhotonsOnPupil, public EsafConfigurable, public EsafMsgSource { public: // ctor DiffusePhotonsOnPupil(); // dtor virtual ~DiffusePhotonsOnPupil(); virtual Photon* GetPhoton(); virtual inline void Clear() {}; virtual inline Int_t GetEntries() const { return 0; } void SetThetaFOVMax( Double_t fov ) { fThetaFOVMax = fov; } Double_t GetThetaFOVMax() const { return fThetaFOVMax; } EsafConfigClass(Tools,PixelMapBuilder) private: Double_t fEntranceDiscRadius; // size of the injection disc Double_t fThetaFOVMax; // maximum field ov view TF1* fThetaDist; // N(Theta) phs distribution ParentPhoton fParent; // parent of all the photons EsafSpectrum *fSpectrum; // spectral distribution OpticalSystem *fOptics; // opticalsystem ClassDef(DiffusePhotonsOnPupil,0) }; #endif /* __DIFFUSEPHOTONSONPUPIL_HH_ */