// $Id: Detector.hh,v 1.4 2005/03/21 19:22:41 thea Exp $ // Author: A.Thea 2004/12/07 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: Detector * * Package: Electronics * * Coordinator: Marco.Pallavicini * * * *****************************************************************************/ #ifndef __DETECTOR_HH__ #define __DETECTOR_HH__ #include "euso.hh" #include "EsafConfigurable.hh" #include "EsafMsgSource.hh" #include "DetectorGeometry.hh" class Telemetry; class PhotonsOnPupil; //////////////////////////////////////////////////////////////////////////////// // // // Detector // // // // Abstract interface for Esaf Detectors // // // //////////////////////////////////////////////////////////////////////////////// class Detector { public: Detector(); virtual ~Detector(); virtual Telemetry* Get( PhotonsOnPupil* ) = 0; // do the complete simulation of one event virtual void Reset() = 0; // get ready for next event virtual DetectorGeometry* GetGeometry() { return &fGeometry; } protected: DetectorGeometry fGeometry; ClassDef(Detector,0) }; //////////////////////////////////////////////////////////////////////////////// // // // TestDetector // // // // Dummy detector to test the photons in front of the detector itself // // // //////////////////////////////////////////////////////////////////////////////// class TestDetector : public Detector, public EsafMsgSource { public: TestDetector(); ~TestDetector(); virtual Telemetry* Get( PhotonsOnPupil* ); // do the complete simulation of one event virtual void Reset() {}; // get ready for next event ClassDef(TestDetector,0) }; #endif /* __DETECTOR_HH__ */