#include <DTRangeT0.h>
Public Types | |
typedef std::vector< std::pair < DTRangeT0Id, DTRangeT0Data > >::const_iterator | const_iterator |
Access methods to data. | |
Public Member Functions | |
const_iterator | begin () const |
void | clear () |
reset content | |
DTRangeT0 () | |
DTRangeT0 (const std::string &version) | |
const_iterator | end () const |
int | get (int wheelId, int stationId, int sectorId, int slId, int &t0min, int &t0max) const |
int | get (const DTSuperLayerId &id, int &t0min, int &t0max) const |
int | set (const DTSuperLayerId &id, int t0min, int t0max) |
int | set (int wheelId, int stationId, int sectorId, int slId, int t0min, int t0max) |
int | setSLRangeT0 (const DTSuperLayerId &id, int t0min, int t0max) |
int | setSLRangeT0 (int wheelId, int stationId, int sectorId, int slId, int t0min, int t0max) |
int | slRangeT0 (const DTSuperLayerId &id, int &t0min, int &t0max) const |
int | slRangeT0 (int wheelId, int stationId, int sectorId, int slId, int &t0min, int &t0max) const |
get content | |
const std::string & | version () const |
access version | |
std::string & | version () |
~DTRangeT0 () | |
Private Member Functions | |
void | cacheMap () const |
read and store full content | |
std::string | mapName () const |
Private Attributes | |
std::vector< std::pair < DTRangeT0Id, DTRangeT0Data > > | dataList |
std::string | dataVersion |
DTBufferTree< int, int > * | dBuf |
Description: Class to hold drift tubes T0 range ( SL by SL min - max T0 )
Definition at line 64 of file DTRangeT0.h.
typedef std::vector< std::pair<DTRangeT0Id, DTRangeT0Data> >::const_iterator DTRangeT0::const_iterator |
Access methods to data.
Definition at line 134 of file DTRangeT0.h.
DTRangeT0::DTRangeT0 | ( | ) |
Constructor
Definition at line 34 of file DTRangeT0.cc.
References dataList, and dBuf.
: dataVersion( " " ) { dataList.reserve( 1000 ); dBuf = 0; }
DTRangeT0::DTRangeT0 | ( | const std::string & | version | ) |
Definition at line 41 of file DTRangeT0.cc.
References dataList, and dBuf.
: dataVersion( version ) { dataList.reserve( 1000 ); dBuf = 0; }
DTRangeT0::~DTRangeT0 | ( | ) |
Destructor
Definition at line 65 of file DTRangeT0.cc.
References dBuf.
{ // DTDataBuffer<int,int>::dropBuffer( mapName() ); delete dBuf; }
DTRangeT0::const_iterator DTRangeT0::begin | ( | void | ) | const |
void DTRangeT0::cacheMap | ( | ) | const [private] |
read and store full content
Definition at line 231 of file DTRangeT0.cc.
References dataList, dBuf, DTBufferTree< Key, Content >::insert(), and DTRangeT0Id::stationId.
Referenced by get(), and set().
{ // std::string mName = mapName(); // DTBufferTree<int,int>* dBuf = // DTDataBuffer<int,int>::openBuffer( mName ); DTBufferTree<int,int>** pBuf; pBuf = const_cast<DTBufferTree<int,int>**>( &dBuf ); *pBuf = new DTBufferTree<int,int>; int entryNum = 0; int entryMax = dataList.size(); std::vector<int> chanKey; chanKey.reserve(4); while ( entryNum < entryMax ) { const DTRangeT0Id& chan = dataList[entryNum].first; chanKey.clear(); chanKey.push_back( chan. wheelId ); chanKey.push_back( chan.stationId ); chanKey.push_back( chan. sectorId ); chanKey.push_back( chan. slId ); dBuf->insert( chanKey.begin(), chanKey.end(), entryNum++ ); } return; }
void DTRangeT0::clear | ( | void | ) |
DTRangeT0::const_iterator DTRangeT0::end | ( | void | ) | const |
int DTRangeT0::get | ( | const DTSuperLayerId & | id, |
int & | t0min, | ||
int & | t0max | ||
) | const |
Definition at line 121 of file DTRangeT0.cc.
{ return get( id.wheel(), id.station(), id.sector(), id.superLayer(), t0min, t0max ); }
int DTRangeT0::get | ( | int | wheelId, |
int | stationId, | ||
int | sectorId, | ||
int | slId, | ||
int & | t0min, | ||
int & | t0max | ||
) | const |
Definition at line 82 of file DTRangeT0.cc.
References cacheMap(), data, dataList, dBuf, DTBufferTree< Key, Content >::find(), edm::second(), DTRangeT0Data::t0max, and DTRangeT0Data::t0min.
{ t0min = t0max = 0; // std::string mName = mapName(); // DTBufferTree<int,int>* dBuf = // DTDataBuffer<int,int>::findBuffer( mName ); // if ( dBuf == 0 ) { // cacheMap(); // dBuf = // DTDataBuffer<int,int>::findBuffer( mName ); // } if ( dBuf == 0 ) cacheMap(); std::vector<int> chanKey; chanKey.reserve(4); chanKey.push_back( wheelId ); chanKey.push_back( stationId ); chanKey.push_back( sectorId ); chanKey.push_back( slId ); int ientry; int searchStatus = dBuf->find( chanKey.begin(), chanKey.end(), ientry ); if ( !searchStatus ) { const DTRangeT0Data& data( dataList[ientry].second ); t0min = data.t0min; t0max = data.t0max; } return searchStatus; }
std::string DTRangeT0::mapName | ( | ) | const [private] |
Definition at line 224 of file DTRangeT0.cc.
References dataVersion, and mergeVDriftHistosByStation::name.
{ std::stringstream name; name << dataVersion << "_map_RangeT0" << this; return name.str(); }
int DTRangeT0::set | ( | int | wheelId, |
int | stationId, | ||
int | sectorId, | ||
int | slId, | ||
int | t0min, | ||
int | t0max | ||
) |
Definition at line 152 of file DTRangeT0.cc.
References cacheMap(), data, dataList, dBuf, DTBufferTree< Key, Content >::find(), DTBufferTree< Key, Content >::insert(), combine::key, edm::second(), DTRangeT0Id::stationId, DTRangeT0Data::t0max, and DTRangeT0Data::t0min.
Referenced by DTRangeT0Handler::getNewObjects().
{ // std::string mName = mapName(); // DTBufferTree<int,int>* dBuf = // DTDataBuffer<int,int>::findBuffer( mName ); // if ( dBuf == 0 ) { // cacheMap(); // dBuf = // DTDataBuffer<int,int>::findBuffer( mName ); // } if ( dBuf == 0 ) cacheMap(); std::vector<int> chanKey; chanKey.reserve(4); chanKey.push_back( wheelId ); chanKey.push_back( stationId ); chanKey.push_back( sectorId ); chanKey.push_back( slId ); int ientry; int searchStatus = dBuf->find( chanKey.begin(), chanKey.end(), ientry ); if ( !searchStatus ) { DTRangeT0Data& data( dataList[ientry].second ); data.t0min = t0min; data.t0max = t0max; return -1; } else { DTRangeT0Id key; key. wheelId = wheelId; key.stationId = stationId; key. sectorId = sectorId; key. slId = slId; DTRangeT0Data data; data.t0min = t0min; data.t0max = t0max; ientry = dataList.size(); dataList.push_back( std::pair<DTRangeT0Id,DTRangeT0Data>( key, data ) ); dBuf->insert( chanKey.begin(), chanKey.end(), ientry ); return 0; } return 99; }
int DTRangeT0::set | ( | const DTSuperLayerId & | id, |
int | t0min, | ||
int | t0max | ||
) |
Definition at line 203 of file DTRangeT0.cc.
{ return set( id.wheel(), id.station(), id.sector(), id.superLayer(), t0min, t0max ); }
int DTRangeT0::setSLRangeT0 | ( | int | wheelId, |
int | stationId, | ||
int | sectorId, | ||
int | slId, | ||
int | t0min, | ||
int | t0max | ||
) | [inline] |
Definition at line 110 of file DTRangeT0.h.
{ return set( wheelId, stationId, sectorId, slId, t0min, t0max ); };
int DTRangeT0::setSLRangeT0 | ( | const DTSuperLayerId & | id, |
int | t0min, | ||
int | t0max | ||
) | [inline] |
Definition at line 117 of file DTRangeT0.h.
{ return set( id, t0min, t0max ); };
int DTRangeT0::slRangeT0 | ( | const DTSuperLayerId & | id, |
int & | t0min, | ||
int & | t0max | ||
) | const [inline] |
Definition at line 88 of file DTRangeT0.h.
{ return get( id, t0min, t0max ); };
int DTRangeT0::slRangeT0 | ( | int | wheelId, |
int | stationId, | ||
int | sectorId, | ||
int | slId, | ||
int & | t0min, | ||
int & | t0max | ||
) | const [inline] |
get content
Operations
Definition at line 80 of file DTRangeT0.h.
{ return get( wheelId, stationId, sectorId, slId, t0min, t0max ); };
const std::string & DTRangeT0::version | ( | ) | const |
access version
Definition at line 133 of file DTRangeT0.cc.
References dataVersion.
{ return dataVersion; }
std::string & DTRangeT0::version | ( | ) |
std::vector< std::pair<DTRangeT0Id,DTRangeT0Data> > DTRangeT0::dataList [private] |
Definition at line 142 of file DTRangeT0.h.
Referenced by begin(), cacheMap(), clear(), DTRangeT0(), end(), get(), and set().
std::string DTRangeT0::dataVersion [private] |
Definition at line 140 of file DTRangeT0.h.
DTBufferTree<int,int>* DTRangeT0::dBuf [private] |
Definition at line 144 of file DTRangeT0.h.
Referenced by cacheMap(), clear(), DTRangeT0(), get(), set(), and ~DTRangeT0().