//====================================================================== // // Description: // Class for keeping info about the geometry of dch // To be used in digi and reco procedures // //------------------------------------------------------------------------ #ifndef PNDDCHSTRUCTURE_HH #define PNDDCHSTRUCTURE_HH #include #include #include "TObject.h" #include "TString.h" class TGeoManager; class TGeoCombiTrans; class PndDchStructure: public TObject { public: static PndDchStructure* Instance(); static PndDchStructure* Instance(TGeoManager*); const TGeoCombiTrans* GetTransMatrix(Int_t detID) const; Double_t GetCellSize(Int_t detID) const; virtual ~PndDchStructure(); // Output to screen virtual void Print(const Option_t*) const; protected: PndDchStructure(TGeoManager*); private: static PndDchStructure* fInstance; Int_t GetDetectorID(TString nodePath); Bool_t SetWireOrientation(void ); // map detID <-> det geo tranformation std::map fPlaneGeoTransMap; // map detID <-> det cell size std::map fCellSizeMap; public: ClassDef(PndDchStructure,1) }; #endif // PNDDCHSTRUCTURE_HH