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