//====================================================================== // File and Version Information: // $Id: $ // //------------------------------------------------------------------------ #ifndef EMCSTRUCTURE_HH #define EMCSTRUCTURE_HH #include #include #include "TObject.h" using std::string; class EmcXtal; class TwoCoordIndex; class EmcStructure: public TObject { public: typedef std::map mapper; static EmcStructure* Instance(string); virtual ~EmcStructure(); const mapper& GetEmcX() const { return emcX ;}; const mapper& GetEmcY() const { return emcY ;}; const mapper& GetEmcZ() const { return emcZ ;}; const mapper& GetEmcTheta() const { return emcTheta ;}; const mapper& GetEmcPhi() const { return emcPhi ;}; const mapper& GetEmcTau() const { return emcTau ;}; const std::map& GetTciXtalMap() const { return fTciXtalMap ;}; TwoCoordIndex* locateIndex( double theta, double phi ) const; protected: EmcStructure(string); private: static EmcStructure* _instance; mapper emcX; mapper emcY; mapper emcZ; mapper emcTheta; mapper emcPhi; mapper emcTau; std::map fTciXtalMap; ClassDef(EmcStructure,1) }; #endif // EMCSTRUCTURE_HH