43 dataVersion( version ) {
96 std::vector<int>& confKey )
const {
109 std::vector<int> chanKey;
111 chanKey.push_back( wheelId );
112 chanKey.push_back( stationId );
113 chanKey.push_back( sectorId );
114 std::vector<int>* confPtr;
115 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
116 if ( !searchStatus ) confKey = *confPtr;
124 std::vector<int>& confKey )
const {
136 std::vector< std::pair<DTCCBId,int>* > tempList;
139 while ( d_iter != d_iend ) tempList.push_back(
140 new std::pair<DTCCBId,int>( *d_iter++ ) );
141 std::vector< std::pair<DTCCBId,int>* >::iterator t_iter = tempList.begin();
142 std::vector< std::pair<DTCCBId,int>* >::iterator t_iend = tempList.end();
143 while ( t_iter != t_iend ) {
144 std::pair<DTCCBId,int>* ptr = *t_iter++;
145 if ( ptr == 0 )
continue;
147 std::vector<int> cfgKeys;
148 cfgKeys.push_back( ptr->second );
149 std::vector< std::pair<DTCCBId,int>* >::iterator n_iter( t_iter );
150 while( n_iter != t_iend ) {
151 std::pair<DTCCBId,int>*& pck = *n_iter++;
152 if ( pck == 0 )
continue;
154 if ( ( chkId. wheelId == ccbId. wheelId ) &&
156 ( chkId. sectorId == ccbId. sectorId ) ) {
157 cfgKeys.push_back( pck->second );
162 keyList.push_back( std::pair<
DTCCBId,std::vector<int> >( ccbId,
205 const std::vector<int>& confKey ) {
217 std::vector<int> chanKey;
219 chanKey.push_back( wheelId );
220 chanKey.push_back( stationId );
221 chanKey.push_back( sectorId );
223 std::vector<int>* confPtr;
224 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
226 if ( !searchStatus ) {
227 std::vector< std::pair<DTCCBId,int> > tempList;
230 while ( iter != iend ) {
231 const DTCCBId& ccbId( iter->first );
235 if ( ( ccbId. wheelId != wheelId ) ||
237 ( ccbId. sectorId != sectorId ) ) tempList.push_back( *iter );
242 ccbId. wheelId = wheelId;
244 ccbId. sectorId = sectorId;
245 std::vector<int>::const_iterator cfgIter = confKey.begin();
246 std::vector<int>::const_iterator cfgIend = confKey.end();
247 while ( cfgIter != cfgIend )
dataList.push_back( std::pair<DTCCBId,int>(
248 ccbId, *cfgIter++ ) );
254 chanKey.end(),
new std::vector<int>( confKey ) );
256 ccbId. wheelId = wheelId;
258 ccbId. sectorId = sectorId;
259 std::vector<int>::const_iterator cfgIter = confKey.begin();
260 std::vector<int>::const_iterator cfgIend = confKey.end();
261 while ( cfgIter != cfgIend )
dataList.push_back( std::pair<DTCCBId,int>(
262 ccbId, *cfgIter++ ) );
270 const std::vector<int>& confKey ) {
281 const std::vector<int>& confKey ) {
293 std::vector<int> chanKey;
295 chanKey.push_back( wheelId );
296 chanKey.push_back( stationId );
297 chanKey.push_back( sectorId );
300 ccbId. wheelId = wheelId;
302 ccbId. sectorId = sectorId;
303 std::vector<int>::const_iterator iter = confKey.begin();
304 std::vector<int>::const_iterator iend = confKey.end();
307 std::vector<int>* confPtr;
308 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
310 if ( searchStatus ) {
312 chanKey.end(), confPtr =
new std::vector<int>( confKey ) );
315 while ( iter != iend ) {
317 dataList.push_back( std::pair<DTCCBId,int>( ccbId, key ) );
318 confPtr->push_back( key );
321 if ( !searchStatus ) {
332 const std::vector<int>& confKey ) {
371 std::vector<int> chanKey;
373 while ( iter != iend ) {
375 const DTCCBId& chan = iter->first;
378 chanKey.push_back( chan. wheelId );
380 chanKey.push_back( chan. sectorId );
381 std::vector<int>* ccbConfPtr;
382 int searchStatus =
dBuf->
find( chanKey.begin(),
383 chanKey.end(), ccbConfPtr );
384 if ( searchStatus )
dBuf->
insert( chanKey.begin(),
386 ccbConfPtr =
new std::vector<int> );
387 ccbConfPtr->push_back( iter->second );
404 while ( iter != iend )
delete *iter++;
std::vector< std::pair< DTCCBId, int > > dataList
int insert(ElementKey fKey, ElementKey lKey, const Content &cont)
std::vector< DTConfigKey > fullConfigKey
const std::string & version() const
access version
int configKey(int wheelId, int stationId, int sectorId, std::vector< int > &confKey) const
const_iterator end() const
void cacheMap() const
read and store full content
ccb_config_map configKeyMap() const
std::vector< std::pair< DTCCBId, int > >::const_iterator const_iterator
Access methods to data.
static void setDefault(const Content &def)
std::vector< Content > contList()
std::vector< std::pair< DTCCBId, std::vector< int > > > ccb_config_map
std::vector< DTConfigKey > fullKey() const
get content
int find(ElementKey fKey, ElementKey lKey, Content &cont)
void clear()
reset content
int setConfigKey(int wheelId, int stationId, int sectorId, const std::vector< int > &confKey)
void setFullKey(const std::vector< DTConfigKey > &)
const_iterator begin() const
DTBufferTree< int, std::vector< int > * > * dBuf
int appendConfigKey(int wheelId, int stationId, int sectorId, const std::vector< int > &confKey)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run