// $Id: EusoDetector.hh,v 1.18 2005/10/18 23:16:22 thea Exp $ // Author: M. Pallavicini 08-02-2002 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: EusoDetector * * Package: Electronics * * Coordinator: Marco.Pallavicini * * * *****************************************************************************/ #ifndef __EUSODETECTOR_H_ #define __EUSODETECTOR_H_ #include "Detector.hh" #include class EusoElectronics; class DetectorTransportManager; class EEvent; class Photomultiplier; class Photon; //////////////////////////////////////////////////////////////////////////////// // // // EusoDetector // // // // The whole EusoDetector is divided in two main pieces: // // DetectorTransportManager, which brings photons from pupil to focal surface // // EusoElectronics, which simulates the whole chain from Pmts to Trigger // // EusoDetector is just a wrapping to these objects which are the one that do // // the job // // // //////////////////////////////////////////////////////////////////////////////// class EusoDetector : public Detector, public EsafConfigurable, public EsafMsgSource { public: EusoDetector(); // ctor virtual ~EusoDetector(); // dtor virtual Telemetry* Get( PhotonsOnPupil* ); // do the complete simulation of one event void Build(); // build or rebuild the detector virtual void Reset(); // get ready for next event inline EusoElectronics* GetEusoElectronics() { return fElectronics;} // access to Electronics inline DetectorTransportManager* GetDetectorTransportManager() { return fDetectorTransporter;} // access to DetectorTrasnportManager EsafConfigClass(Electronics,EusoDetector) private: EusoElectronics *fElectronics; DetectorTransportManager *fDetectorTransporter; ClassDef(EusoDetector,0) }; // global pointer set by SimuApplication extern EusoDetector* gEusoDetector; #define GetEusoDetector() gEusoDetector #endif