CMS 3D CMS Logo

DTMtime.h
Go to the documentation of this file.
1 #ifndef DTMtime_H
2 #define DTMtime_H
3 
13 //----------------------
14 // Base Class Headers --
15 //----------------------
16 
17 
18 //------------------------------------
19 // Collaborating Class Declarations --
20 //------------------------------------
22 
28 
29 //---------------
30 // C++ Headers --
31 //---------------
32 #include <string>
33 #include <vector>
34 #include <utility>
35 
36 template <class Key, class Content> class DTBufferTree;
37 
38 // ---------------------
39 // -- Class Interface --
40 // ---------------------
41 
42 class DTMtimeId {
43 
44  public:
45 
46  DTMtimeId();
47  ~DTMtimeId();
48 
49  int wheelId;
50  int stationId;
51  int sectorId;
52  int slId;
53  int layerId;
54  int cellId;
55 
56 
58 };
59 
60 
61 class DTMtimeData {
62 
63  public:
64 
65  DTMtimeData();
66  ~DTMtimeData();
67 
68  float mTime;
69  float mTrms;
70 
71 
73 };
74 
75 
76 class DTMtime {
77 
78  public:
79 
82  DTMtime();
83  DTMtime( const std::string& version );
84 
87  ~DTMtime();
88 
91  int slMtime( int wheelId,
93  int stationId,
94  int sectorId,
95  int slId,
96  float& mTime,
97  float& mTrms,
98  DTTimeUnits::type unit ) const
99  { return get( wheelId, stationId, sectorId, slId, 0, 0,
100  mTime, mTrms, unit ); };
101  int slMtime( int wheelId,
102  int stationId,
103  int sectorId,
104  int slId,
105  int layerId,
106  int cellId,
107  float& mTime,
108  float& mTrms,
109  DTTimeUnits::type unit ) const
110  { return get( wheelId, stationId, sectorId, slId, layerId, cellId,
111  mTime, mTrms, unit ); };
112  int slMtime( const DTSuperLayerId& id,
113  float& mTime,
114  float& mTrms,
115  DTTimeUnits::type unit ) const
116  { return get( id, mTime, mTrms, unit ); };
117  int slMtime( const DetId& id,
118  float& mTime,
119  float& mTrms,
120  DTTimeUnits::type unit ) const
121  { return get( id, mTime, mTrms, unit ); };
122  int get( int wheelId,
123  int stationId,
124  int sectorId,
125  int slId,
126  float& mTime,
127  float& mTrms,
128  DTTimeUnits::type unit ) const;
129  int get( int wheelId,
130  int stationId,
131  int sectorId,
132  int slId,
133  float& mTime,
134  float& mTrms,
135  DTVelocityUnits::type unit ) const;
136  int get( int wheelId,
137  int stationId,
138  int sectorId,
139  int slId,
140  int layerId,
141  int cellId,
142  float& mTime,
143  float& mTrms,
144  DTTimeUnits::type unit ) const;
145  int get( int wheelId,
146  int stationId,
147  int sectorId,
148  int slId,
149  int layerId,
150  int cellId,
151  float& mTime,
152  float& mTrms,
153  DTVelocityUnits::type unit ) const;
154  int get( const DTSuperLayerId& id,
155  float& mTime,
156  float& mTrms,
157  DTTimeUnits::type unit ) const;
158  int get( const DTSuperLayerId& id,
159  float& mTime,
160  float& mTrms,
161  DTVelocityUnits::type unit ) const;
162  int get( const DetId& id,
163  float& mTime,
164  float& mTrms,
165  DTTimeUnits::type unit ) const;
166  int get( const DetId& id,
167  float& mTime,
168  float& mTrms,
169  DTVelocityUnits::type unit ) const;
170  float unit() const;
171 
173  const
174  std::string& version() const;
175  std::string& version();
176 
178  void clear();
179 
180  int setSLMtime( int wheelId,
181  int stationId,
182  int sectorId,
183  int slId,
184  float mTime,
185  float mTrms,
186  DTTimeUnits::type unit )
187  { return set( wheelId, stationId, sectorId, slId, 0, 0,
188  mTime, mTrms, unit ); };
189  int setSLMtime( int wheelId,
190  int stationId,
191  int sectorId,
192  int slId,
193  int layerId,
194  int cellId,
195  float mTime,
196  float mTrms,
197  DTTimeUnits::type unit )
198  { return set( wheelId, stationId, sectorId, slId, layerId, cellId,
199  mTime, mTrms, unit ); };
200  int setSLMtime( const DTSuperLayerId& id,
201  float mTime,
202  float mTrms,
203  DTTimeUnits::type unit )
204  { return set( id, mTime, mTrms, unit ); };
205  int setSLMtime( const DetId& id,
206  float mTime,
207  float mTrms,
208  DTTimeUnits::type unit )
209  { return set( id, mTime, mTrms, unit ); };
210  int set( int wheelId,
211  int stationId,
212  int sectorId,
213  int slId,
214  float mTime,
215  float mTrms,
217  int set( int wheelId,
218  int stationId,
219  int sectorId,
220  int slId,
221  float mTime,
222  float mTrms,
224  int set( int wheelId,
225  int stationId,
226  int sectorId,
227  int slId,
228  int layerId,
229  int cellId,
230  float mTime,
231  float mTrms,
233  int set( int wheelId,
234  int stationId,
235  int sectorId,
236  int slId,
237  int layerId,
238  int cellId,
239  float mTime,
240  float mTrms,
242  int set( const DTSuperLayerId& id,
243  float mTime,
244  float mTrms,
246  int set( const DTSuperLayerId& id,
247  float mTime,
248  float mTrms,
250  int set( const DetId& id,
251  float mTime,
252  float mTrms,
254  int set( const DetId& id,
255  float mTime,
256  float mTrms,
258  void setUnit( float unit );
259 
261  typedef std::vector< std::pair<DTMtimeId,
264  const_iterator begin() const;
265  const_iterator end() const;
266 
267  void initialize();
268 
269  private:
270 
271  DTMtime(DTMtime const&) = delete;
272  DTMtime& operator=(DTMtime const&) = delete;
273 
275  float nsPerCount;
276 
277  std::vector< std::pair<DTMtimeId,DTMtimeData> > dataList;
278 
280 
282  std::string mapName() const;
283 
284 
286 };
287 #endif // DTMtime_H
int stationId
Definition: DTMtime.h:50
static AlgebraicMatrix initialize()
float nsPerCount
Definition: DTMtime.h:275
int slMtime(const DetId &id, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Definition: DTMtime.h:117
int setSLMtime(int wheelId, int stationId, int sectorId, int slId, float mTime, float mTrms, DTTimeUnits::type unit)
Definition: DTMtime.h:180
int wheelId
Definition: DTMtime.h:49
int setSLMtime(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, float mTime, float mTrms, DTTimeUnits::type unit)
Definition: DTMtime.h:189
int setSLMtime(const DTSuperLayerId &id, float mTime, float mTrms, DTTimeUnits::type unit)
Definition: DTMtime.h:200
int slMtime(const DTSuperLayerId &id, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Definition: DTMtime.h:112
int cellId
Definition: DTMtime.h:54
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:167
#define end
Definition: vmac.h:39
float mTrms
Definition: DTMtime.h:69
Definition: DetId.h:18
std::vector< std::pair< DTMtimeId, DTMtimeData > > dataList
Definition: DTMtime.h:277
#define COND_TRANSIENT
Definition: Serializable.h:61
std::vector< std::pair< DTMtimeId, DTMtimeData > >::const_iterator const_iterator
Access methods to data.
Definition: DTMtime.h:263
int sectorId
Definition: DTMtime.h:51
int slId
Definition: DTMtime.h:52
#define COND_SERIALIZABLE
Definition: Serializable.h:38
#define begin
Definition: vmac.h:32
float mTime
Definition: DTMtime.h:68
DTMtimeId()
Definition: DTMtime.cc:48
int layerId
Definition: DTMtime.h:53
~DTMtimeId()
Definition: DTMtime.cc:71
std::string dataVersion
Definition: DTMtime.h:274
int slMtime(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Definition: DTMtime.h:101
int setSLMtime(const DetId &id, float mTime, float mTrms, DTTimeUnits::type unit)
Definition: DTMtime.h:205