/** * @file * @author Christian Simon * @since 2017-07-28 */ #ifndef CBMTOFWALL_H #define CBMTOFWALL_H 1 #include "Rtypes.h" #include "TString.h" #include class CbmTofCounter; class CbmTofDigiTbPar; class CbmTofGeoHandler; class TGeoNode; /** * @brief ... * @author Christian Simon * @since 2017-07-28 * @version 1.0 * @details ... */ class CbmTofWall { public: virtual ~CbmTofWall(); static CbmTofWall* Instance(); const std::map& GetCounterMap() const {return fCounterMap;} const std::map& GetMemoryCounterMap() const {return fMemoryCounterMap;} const std::map& GetDarkRateCounterMap() const {return fDarkRateCounterMap;} CbmTofCounter* GetCounter(Int_t iAddress); CbmTofGeoHandler* GetGeoHandler() const {return fGeoHandler;} Bool_t Initialize(CbmTofDigiTbPar* tDigiTbParSet); protected: private: CbmTofWall(); CbmTofWall(const CbmTofWall&); CbmTofWall& operator=(const CbmTofWall&); Bool_t CreateCounters(); void CreateMemoryCounters(); void CreateDarkRateCounters(); void ExpandNode(TGeoNode* tMotherNode); static CbmTofWall* fgInstance; CbmTofDigiTbPar* fDigiTbParSet; TString fTofNodePath; TString fCurrentNodePath; TString fCurrentBoxNodePath; Int_t fiCurrentModuleType; Int_t fiCurrentModuleIndex; Int_t fiCurrentCounterIndex; CbmTofGeoHandler* fGeoHandler; std::map fCounterMap; std::map fMemoryCounterMap; std::map fDarkRateCounterMap; Bool_t fbIsInitialized; ClassDef(CbmTofWall,0) }; #endif