// ------------------------------------------------------------------------- // ----- CbmLitEnvironment header file ----- // ----- Created 16/07/07 by A. Lebedev ----- // ------------------------------------------------------------------------- /** CbmLitEnvironment.h *@author A.Lebedev ** ** **/ #ifndef CbmLitEnvironmentAAA #define CbmLitEnvironmentAAA #include "CbmLitMaterial.h" #include "CbmLitCircleMaterial.h" #include "CbmField.h" #include "CbmGeoNode.h" class CbmLitEnvironment: public TObject { public: // distructor virtual ~CbmLitEnvironment(); static CbmLitEnvironment* Instance(); // initialization void Init(); CbmField* GetField(); const std::vector & GetMaterials(); void GetTrdLayout(Int_t &nofStations, Int_t &nofLayers, std::vector &nofLayersPerStation); void GetStsLayout(); protected: // constructor CbmLitEnvironment(); private: static CbmLitEnvironment* fInstance; std::vector fvMaterials; Double_t fThickWall; CbmField *fField; Int_t fNofStations; Int_t fNofLayers; std::vector fNofLayersPerStation; void ReadStsMaterials(TObjArray *Nodes); void ReadStsMaterials(); void ReadTrdMaterials(TObjArray *Nodes); void ReadTrdMaterials(); void ReadRichMaterials(); Int_t ReadRichNode( CbmLitCircleMaterial *mat, CbmGeoNode *node); ClassDef(CbmLitEnvironment,1) }; #endif //CbmLitEnvironment