//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Singleton providing access and I/O for laser grids in // simulation. To be initialized on macro level. // // // Environment: // Software developed for the GEM-TPC detector // // Author List: // Felix Boehmer TUM (original author) // //----------------------------------------------------------- #ifndef TPCLASERGRID_H #define TPCLASERGRID_H #include "TpcLaser.h" #include "GFAbsTrackRep.h" #include class TpcDigiPar; class TpcLaserGrid { private: ~TpcLaserGrid(); TpcLaserGrid(); TpcLaserGrid(const TpcLaserGrid& notAllowed) {;} TpcLaserGrid& operator=(const TpcLaserGrid& notAllowed) {;} static TpcLaserGrid* fInstance; std::map fLaserMap; //ID -> LaserTrack std::map fTrackMap; //ID -> GFTrack double fZMin, fZMax, fRMin, fRMax; bool fInit; public: static TpcLaserGrid* Instance(); static void Destruct(); //hand over geometry information for laser activation void Init(TpcDigiPar*); //init with existing TpcDigiPar object; void Init(double rMin, double rMax, double zMin, double zMax); const std::map* GetLasers() const; const std::map* GetTracks() const; //const TpcLaser* GetLaser(unsigned int id) const {return &fLaserMap[id];}; //const GFAbsTrackRep* GetTrack(unsigned int) const; void ReadFile(const TString&); //void Print() const; }; #endif