// ESAF : Euso Simulation and Analysis Framework // $Id: IdealFocalSurface.hh,v 1.11 2005/04/15 18:54:39 thea Exp $ // A.Thea created Apr, 1 2003 #ifndef __IDEALFOCALSURFACE_HH_ #define __IDEALFOCALSURFACE_HH_ #include "euso.hh" #include "Photon.hh" #include "TVector3.h" #include "EsafConfigurable.hh" class IdealFocalSurface: public EsafConfigurable { protected: TVector3 fPos; Double_t fR, fDZup, fDZdown; Double_t NextInt( const TVector3 &pos, const TVector3 &dir); public: IdealFocalSurface(); virtual ~IdealFocalSurface(); inline Double_t GetR() { return fR; } const TVector3& GetPos() { return fPos; } virtual Bool_t HitPosition(Photon *p) = 0; virtual Double_t Profile( Double_t r) = 0; EsafConfigClass(Optics,IdealFocalSurface) ClassDef(IdealFocalSurface,0) }; class TestIdealFocalSurface: public IdealFocalSurface { public: TestIdealFocalSurface(); virtual ~TestIdealFocalSurface(); virtual Bool_t HitPosition(Photon *); virtual Double_t Profile( Double_t r) { return 0; } ClassDef(TestIdealFocalSurface,0) }; #endif /* __IDEALFOCALSURFACE_HH_ */