00001 #ifndef DTRangeT0_H
00002 #define DTRangeT0_H
00003
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "CondFormats/DTObjects/interface/DTBufferTree.h"
00024 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00025
00026
00027
00028
00029 #include <string>
00030 #include <vector>
00031
00032
00033
00034
00035
00036 class DTRangeT0Id {
00037
00038 public:
00039
00040 DTRangeT0Id();
00041 ~DTRangeT0Id();
00042
00043 int wheelId;
00044 int stationId;
00045 int sectorId;
00046 int slId;
00047
00048 };
00049
00050
00051 class DTRangeT0Data {
00052
00053 public:
00054
00055 DTRangeT0Data();
00056 ~DTRangeT0Data();
00057
00058 int t0min;
00059 int t0max;
00060
00061 };
00062
00063
00064 class DTRangeT0 {
00065
00066 public:
00067
00070 DTRangeT0();
00071 DTRangeT0( const std::string& version );
00072
00075 ~DTRangeT0();
00076
00079
00080 int slRangeT0( int wheelId,
00081 int stationId,
00082 int sectorId,
00083 int slId,
00084 int& t0min,
00085 int& t0max ) const
00086 { return get( wheelId, stationId, sectorId, slId,
00087 t0min, t0max ); };
00088 int slRangeT0( const DTSuperLayerId& id,
00089 int& t0min,
00090 int& t0max ) const
00091 { return get( id, t0min, t0max ); };
00092 int get( int wheelId,
00093 int stationId,
00094 int sectorId,
00095 int slId,
00096 int& t0min,
00097 int& t0max ) const;
00098 int get( const DTSuperLayerId& id,
00099 int& t0min,
00100 int& t0max ) const;
00101
00103 const
00104 std::string& version() const;
00105 std::string& version();
00106
00108 void clear();
00109
00110 int setSLRangeT0( int wheelId,
00111 int stationId,
00112 int sectorId,
00113 int slId,
00114 int t0min,
00115 int t0max )
00116 { return set( wheelId, stationId, sectorId, slId, t0min, t0max ); };
00117 int setSLRangeT0( const DTSuperLayerId& id,
00118 int t0min,
00119 int t0max )
00120 { return set( id, t0min, t0max ); };
00121 int set( int wheelId,
00122 int stationId,
00123 int sectorId,
00124 int slId,
00125 int t0min,
00126 int t0max );
00127 int set( const DTSuperLayerId& id,
00128 int t0min,
00129 int t0max );
00130
00132 typedef std::vector< std::pair<DTRangeT0Id,
00133 DTRangeT0Data> >::const_iterator
00134 const_iterator;
00135 const_iterator begin() const;
00136 const_iterator end() const;
00137
00138 private:
00139
00140 std::string dataVersion;
00141
00142 std::vector< std::pair<DTRangeT0Id,DTRangeT0Data> > dataList;
00143
00144 DTBufferTree<int,int>* dBuf;
00145
00147 void cacheMap() const;
00148 std::string mapName() const;
00149
00150 };
00151
00152
00153 #endif // DTRangeT0_H
00154