// $Id: Detector.hh,v 1.6 2005/10/13 14:51:38 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" class DetectorGeometry; class PhotonsOnPupil; class Telemetry; //////////////////////////////////////////////////////////////////////////////// // // // 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 EsafConfigurable { public: TestDetector(); ~TestDetector(); virtual Telemetry* Get( PhotonsOnPupil* ); // do the complete simulation of one event virtual void Reset() {}; // get ready for next event EsafConfigClass(Electronics,TestDetector) ClassDef(TestDetector,0) }; #endif /* __DETECTOR_HH__ */