CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CondFormats/DTObjects/interface/DTTtrig.h

Go to the documentation of this file.
00001 #ifndef DTTtrig_H
00002 #define DTTtrig_H
00003 
00015 //----------------------
00016 // Base Class Headers --
00017 //----------------------
00018 
00019 
00020 //------------------------------------
00021 // Collaborating Class Declarations --
00022 //------------------------------------
00023 #include "CondFormats/DTObjects/interface/DTTimeUnits.h"
00024 #include "CondFormats/DTObjects/interface/DTBufferTree.h"
00025 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00026 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00027 
00028 //---------------
00029 // C++ Headers --
00030 //---------------
00031 #include <string>
00032 #include <vector>
00033 
00034 //              ---------------------
00035 //              -- Class Interface --
00036 //              ---------------------
00037 
00038 class DTTtrigId   {
00039 
00040  public:
00041 
00042   DTTtrigId();
00043   ~DTTtrigId();
00044 
00045   int   wheelId;
00046   int stationId;
00047   int  sectorId;
00048   int      slId;
00049   int   layerId;
00050   int    cellId;
00051 
00052 };
00053 
00054 
00055 class DTTtrigData {
00056 
00057  public:
00058 
00059   DTTtrigData();
00060   ~DTTtrigData();
00061 
00062   float tTrig;
00063   float tTrms;
00064   float kFact;
00065 
00066 };
00067 
00068 
00069 class DTTtrig {
00070 
00071  public:
00072 
00075   DTTtrig();
00076   DTTtrig( const std::string& version );
00077 
00080   ~DTTtrig();
00081 
00084 
00085   int get( int   wheelId,
00086            int stationId,
00087            int  sectorId,
00088            int      slId,
00089            float&  tTrig,
00090            float&  tTrms,
00091            float&  kFact,
00092            DTTimeUnits::type unit ) const;
00093   int get( int   wheelId,
00094            int stationId,
00095            int  sectorId,
00096            int      slId,
00097            int   layerId,
00098            int    cellId,
00099            float&  tTrig,
00100            float&  tTrms,
00101            float&  kFact,
00102            DTTimeUnits::type unit ) const;
00103   int get( const DTSuperLayerId& id,
00104            float&  tTrig,
00105            float&  tTrms,
00106            float&  kFact,
00107            DTTimeUnits::type unit ) const;
00108   int get( const DetId& id,
00109            float&  tTrig,
00110            float&  tTrms,
00111            float&  kFact,
00112            DTTimeUnits::type unit ) const;
00113   int get( int   wheelId,
00114            int stationId,
00115            int  sectorId,
00116            int      slId,
00117            float&  tTrig,
00118            DTTimeUnits::type unit ) const;
00119   int get( int   wheelId,
00120            int stationId,
00121            int  sectorId,
00122            int      slId,
00123            int   layerId,
00124            int    cellId,
00125            float&  tTrig,
00126            DTTimeUnits::type unit ) const;
00127   int get( const DTSuperLayerId& id,
00128            float&  tTrig,
00129            DTTimeUnits::type unit ) const;
00130   int get( const DetId& id,
00131            float&  tTrig,
00132            DTTimeUnits::type unit ) const;
00133   float unit() const;
00134 
00136   const
00137   std::string& version() const;
00138   std::string& version();
00139 
00141   void clear();
00142 
00143   int set( int   wheelId,
00144            int stationId,
00145            int  sectorId,
00146            int      slId,
00147            float   tTrig,
00148            float   tTrms,
00149            float   kFact,
00150            DTTimeUnits::type unit );
00151   int set( int   wheelId,
00152            int stationId,
00153            int  sectorId,
00154            int      slId,
00155            int   layerId,
00156            int    cellId,
00157            float   tTrig,
00158            float   tTrms,
00159            float   kFact,
00160            DTTimeUnits::type unit );
00161   int set( const DTSuperLayerId& id,
00162            float   tTrig,
00163            float   tTrms,
00164            float   kFact,
00165            DTTimeUnits::type unit );
00166   int set( const DetId& id,
00167            float   tTrig,
00168            float   tTrms,
00169            float   kFact,
00170            DTTimeUnits::type unit );
00171   void setUnit( float unit );
00172 
00174   typedef std::vector< std::pair<DTTtrigId,
00175                                  DTTtrigData> >::const_iterator
00176                                                  const_iterator;
00177   const_iterator begin() const;
00178   const_iterator end() const;
00179 
00180  private:
00181 
00182   std::string dataVersion;
00183   float nsPerCount;
00184 
00185   std::vector< std::pair<DTTtrigId,DTTtrigData> > dataList;
00186 
00187   DTBufferTree<int,int>* dBuf;
00188 
00190   void cacheMap() const;
00191   std::string mapName() const;
00192 
00193 };
00194 
00195 
00196 #endif // DTTtrig_H
00197