// $Id: Baffle.hh,v 1.7 2005/04/08 17:40:23 thea Exp $ // Author: A.Thea Oct, 10 2003 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: Baffle * * Package: Optics * * Coordinator: Alessandro.Thea * * * *****************************************************************************/ #ifndef __BAFFLE_HH_ #define __BAFFLE_HH_ #include "euso.hh" #include "DetectorPhotonTransporter.hh" //////////////////////////////////////////////////////////////////////////////// // // // Baffle // // // // Abstract class for optic's baffle // // // //////////////////////////////////////////////////////////////////////////////// class Baffle: public DetectorPhotonTransporter{ protected: Double_t fRTop; // Double_t IntersectCone(Photon* p, Double_t rUp, Double_t rDown, // Double_t zUp, Double_t zDown); public: Baffle(); virtual ~Baffle(); // Double_t IntersectCone(Photon* ); virtual Photon* Transport( Photon * ) const =0; inline Double_t BottomRadius() const { return fR; } inline Double_t TopRadius() const { return fRTop; } EsafConfigClass(Optics,Baffle) ClassDef(Baffle,0) }; //////////////////////////////////////////////////////////////////////////////// // // // TestBaffle // // // // A test baffle // // // //////////////////////////////////////////////////////////////////////////////// class TestBaffle: public Baffle{ public: TestBaffle(); virtual ~TestBaffle(); virtual Photon* Transport( Photon * ) const; EsafConfigClass(Optics,Baffle) ClassDef(TestBaffle,0) }; #endif /* __BAFFLE_HH_ */