40 dataVersion( version ),
90 std::vector<int>& confKey )
const {
94 std::vector<int> chanKey { wheelId, stationId, sectorId };
95 std::vector<int>
const* confPtr;
96 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
97 if ( !searchStatus ) confKey = *confPtr;
104 std::vector<int>& confKey )
const {
116 std::vector< std::pair<DTCCBId,int>* > tempList;
119 while ( d_iter != d_iend ) tempList.push_back(
120 new std::pair<DTCCBId,int>( *d_iter++ ) );
121 std::vector< std::pair<DTCCBId,int>* >::iterator t_iter = tempList.begin();
122 std::vector< std::pair<DTCCBId,int>* >::iterator t_iend = tempList.end();
123 while ( t_iter != t_iend ) {
124 std::pair<DTCCBId,int>* ptr = *t_iter++;
125 if ( ptr == 0 )
continue;
127 std::vector<int> cfgKeys;
128 cfgKeys.push_back( ptr->second );
129 std::vector< std::pair<DTCCBId,int>* >::iterator n_iter( t_iter );
130 while( n_iter != t_iend ) {
131 std::pair<DTCCBId,int>*& pck = *n_iter++;
132 if ( pck == 0 )
continue;
134 if ( ( chkId. wheelId == ccbId. wheelId ) &&
136 ( chkId. sectorId == ccbId. sectorId ) ) {
137 cfgKeys.push_back( pck->second );
142 keyList.push_back( std::pair<
DTCCBId,std::vector<int> >( ccbId,
182 const std::vector<int>& confKey ) {
184 std::vector<int> chanKey { wheelId, stationId, sectorId };
186 std::vector<int>* confPtr;
187 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
189 if ( !searchStatus ) {
190 std::vector< std::pair<DTCCBId,int> > tempList;
193 while ( iter != iend ) {
194 const DTCCBId& ccbId( iter->first );
195 if ( ( ccbId. wheelId != wheelId ) ||
197 ( ccbId. sectorId != sectorId ) ) tempList.push_back( *iter );
202 ccbId. wheelId = wheelId;
204 ccbId. sectorId = sectorId;
205 std::vector<int>::const_iterator cfgIter = confKey.begin();
206 std::vector<int>::const_iterator cfgIend = confKey.end();
207 while ( cfgIter != cfgIend )
dataList.push_back( std::pair<DTCCBId,int>(
208 ccbId, *cfgIter++ ) );
214 chanKey.end(), std::unique_ptr<std::vector<int> >(
new std::vector<int>( confKey ) ) );
216 ccbId. wheelId = wheelId;
218 ccbId. sectorId = sectorId;
219 std::vector<int>::const_iterator cfgIter = confKey.begin();
220 std::vector<int>::const_iterator cfgIend = confKey.end();
221 while ( cfgIter != cfgIend )
dataList.push_back( std::pair<DTCCBId,int>(
222 ccbId, *cfgIter++ ) );
230 const std::vector<int>& confKey ) {
241 const std::vector<int>& confKey ) {
243 std::vector<int> chanKey { wheelId, stationId, sectorId };
246 ccbId. wheelId = wheelId;
248 ccbId. sectorId = sectorId;
249 std::vector<int>::const_iterator iter = confKey.begin();
250 std::vector<int>::const_iterator iend = confKey.end();
253 std::vector<int>* confPtr;
254 int searchStatus =
dBuf->
find( chanKey.begin(), chanKey.end(), confPtr );
256 if ( searchStatus ) {
257 std::unique_ptr<std::vector<int> > newVector(
new std::vector<int>);
258 confPtr = newVector.get();
260 chanKey.end(), std::move(newVector) );
263 while ( iter != iend ) {
265 dataList.push_back( std::pair<DTCCBId,int>( ccbId, key ) );
266 confPtr->push_back( key );
269 if ( !searchStatus ) {
279 const std::vector<int>& confKey ) {
301 std::vector<int> chanKey;
303 while ( iter != iend ) {
305 const DTCCBId& chan = iter->first;
308 chanKey.push_back( chan. wheelId );
310 chanKey.push_back( chan. sectorId );
311 std::vector<int>* ccbConfPtr;
312 int searchStatus =
dBuf->
find( chanKey.begin(),
313 chanKey.end(), ccbConfPtr );
315 if ( searchStatus ) {
316 std::unique_ptr<std::vector<int> > newVector(
new std::vector<int>);
317 ccbConfPtr = newVector.get();
318 dBuf->
insert( chanKey.begin(), chanKey.end(), std::move(newVector) );
320 ccbConfPtr->push_back( iter->second );
std::vector< std::pair< DTCCBId, int > > dataList
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
ccb_config_map configKeyMap() const
std::vector< std::pair< DTCCBId, int > >::const_iterator const_iterator
Access methods to data.
int find(ElementKey fKey, ElementKey lKey, typename DTBufferTreeTrait< Content >::outputTypeOfConstFind &cont) const
std::vector< std::pair< DTCCBId, std::vector< int > > > ccb_config_map
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
std::vector< DTConfigKey > fullKey() const
int insert(ElementKey fKey, ElementKey lKey, Content cont)
void clear()
reset content
edm::ConstRespectingPtr< DTBufferTreeUniquePtr > dBuf
int setConfigKey(int wheelId, int stationId, int sectorId, const std::vector< int > &confKey)
void setFullKey(const std::vector< DTConfigKey > &)
const_iterator begin() const
int appendConfigKey(int wheelId, int stationId, int sectorId, const std::vector< int > &confKey)