36 nsPerCount( 25.0 / 32.0 ) {
43 dataVersion( version ),
44 nsPerCount( 25.0 / 32.0 ) {
94 return get( wheelId, stationId, sectorId,
96 tTrig, tTrms, kFact,
unit );
126 std::vector<int> chanKey;
128 chanKey.push_back( wheelId );
129 chanKey.push_back( stationId );
130 chanKey.push_back( sectorId );
131 chanKey.push_back( slId );
132 chanKey.push_back( layerId );
133 chanKey.push_back( cellId );
135 int searchStatus = (*
dBuf.load(std::memory_order_acquire)).
find( chanKey.begin(), chanKey.end(), ientry );
136 if ( !searchStatus ) {
157 return get(
id.wheel(),
160 id.superLayer(), 0, 0,
161 tTrig, tTrms, kFact,
unit );
171 return get( wireId.
wheel(),
177 tTrig, tTrms, kFact,
unit );
187 return get( wheelId, stationId, sectorId,
188 slId, 0, 0, tTrig,
unit );
203 int status =
get( wheelId, stationId, sectorId,
204 slId, layerId, cellId,
205 tMean, tTrms, kFact,
unit );
206 tTrig = tMean + ( kFact * tTrms );
214 return get(
id.wheel(),
217 id.superLayer(), 0, 0,
226 return get( wireId.
wheel(),
269 return set( wheelId, stationId, sectorId,
271 tTrig, tTrms, kFact, unit );
301 std::vector<int> chanKey;
303 chanKey.push_back( wheelId );
304 chanKey.push_back( stationId );
305 chanKey.push_back( sectorId );
306 chanKey.push_back( slId );
307 chanKey.push_back( layerId );
308 chanKey.push_back( cellId );
310 int searchStatus = (*
dBuf.load(std::memory_order_acquire)).
find( chanKey.begin(), chanKey.end(), ientry );
312 if ( !searchStatus ) {
321 key. wheelId = wheelId;
323 key. sectorId = sectorId;
325 key. layerId = layerId;
326 key. cellId = cellId;
332 dataList.push_back( std::pair<DTTtrigId,DTTtrigData>( key, data ) );
333 (*
dBuf.load(std::memory_order_acquire)).
insert( chanKey.begin(), chanKey.end(), ientry );
347 return set(
id.wheel(),
350 id.superLayer(), 0, 0,
351 tTrig, tTrms, kFact, unit );
367 tTrig, tTrms, kFact,
unit );
387 std::stringstream
name;
403 std::vector<int> chanKey;
405 while ( entryNum < entryMax ) {
410 chanKey.push_back( chan. wheelId );
412 chanKey.push_back( chan. sectorId );
413 chanKey.push_back( chan. slId );
414 chanKey.push_back( chan. layerId );
415 chanKey.push_back( chan. cellId );
416 pBuf->insert( chanKey.begin(), chanKey.end(), entryNum++ );
421 bool exchanged =
dBuf.compare_exchange_strong(expect, pBuf, std::memory_order_acq_rel);
int set(int wheelId, int stationId, int sectorId, int slId, float tTrig, float tTrms, float kFact, DTTimeUnits::type unit)
const std::string & version() const
access version
int layer() const
Return the layer number.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::atomic< DTBufferTree< int, int > * > dBuf
std::vector< std::pair< DTTtrigId, DTTtrigData > > dataList
void clear()
reset content
std::vector< std::pair< DTTtrigId, DTTtrigData > >::const_iterator const_iterator
Access methods to data.
U second(std::pair< T, U > const &p)
int superLayer() const
Return the superlayer number.
std::string mapName() const
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
void cacheMap() const
read and store full content
int wire() const
Return the wire number.
int get(int wheelId, int stationId, int sectorId, int slId, float &tTrig, float &tTrms, float &kFact, DTTimeUnits::type unit) const
get content
char data[epos_bytes_allocation]
const_iterator begin() const
int station() const
Return the station number.
const_iterator end() const
int wheel() const
Return the wheel number.