CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
DTHVStatus Class Reference

#include <DTHVStatus.h>

Public Types

typedef std::vector< std::pair
< DTHVStatusId, DTHVStatusData >
>::const_iterator 
const_iterator
 Access methods to data. More...
 

Public Member Functions

int badChannelsNumber () const
 
int badChannelsNumber (const DTChamberId &id) const
 
const_iterator begin () const
 
void clear ()
 reset content More...
 
 DTHVStatus ()
 
 DTHVStatus (const std::string &version)
 
const_iterator end () const
 
int get (int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int &fCell, int &lCell, int &flagA, int &flagC, int &flagS) const
 get content More...
 
int get (const DTLayerId &id, int partId, int &fCell, int &lCell, int &flagA, int &flagC, int &flagS) const
 
int get (const DTWireId &id, int &flagA, int &flagC, int &flagS) const
 
void initialize ()
 
int offChannelsNumber () const
 
int offChannelsNumber (const DTChamberId &id) const
 
int set (int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
 
int set (const DTLayerId &id, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
 
int setFlagA (int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
 
int setFlagA (const DTLayerId &id, int partId, int flag)
 
int setFlagC (int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
 
int setFlagC (const DTLayerId &id, int partId, int flag)
 
int setFlagS (int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
 
int setFlagS (const DTLayerId &id, int partId, int flag)
 
const std::string & version () const
 access version More...
 
std::string & version ()
 
 ~DTHVStatus ()
 

Private Member Functions

 DTHVStatus (DTHVStatus const &)
 
std::string mapName () const
 read and store full content More...
 
DTHVStatusoperator= (DTHVStatus const &)
 

Private Attributes

 COND_SERIALIZABLE
 
edm::ConstRespectingPtr
< DTBufferTree< int, int >
> dBuf 
COND_TRANSIENT
 
std::vector< std::pair
< DTHVStatusId, DTHVStatusData > > 
dataList
 
std::string dataVersion
 

Detailed Description

Description: Class to hold high voltage status ( half layer by half layer )

Author
Paolo Ronchese INFN Padova

Definition at line 78 of file DTHVStatus.h.

Member Typedef Documentation

Access methods to data.

Definition at line 180 of file DTHVStatus.h.

Constructor & Destructor Documentation

DTHVStatus::DTHVStatus ( )

Constructor

Definition at line 35 of file DTHVStatus.cc.

References dataList.

35  :
36  dataVersion( " " ),
37  dBuf(new DTBufferTree<int,int>) {
38  dataList.reserve( 10 );
39 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
std::string dataVersion
Definition: DTHVStatus.h:191
DTHVStatus::DTHVStatus ( const std::string &  version)

Definition at line 42 of file DTHVStatus.cc.

References dataList.

42  :
44  dBuf(new DTBufferTree<int,int>) {
45  dataList.reserve( 10 );
46 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
std::string dataVersion
Definition: DTHVStatus.h:191
const std::string & version() const
access version
Definition: DTHVStatus.cc:249
DTHVStatus::~DTHVStatus ( )

Destructor

Definition at line 69 of file DTHVStatus.cc.

69  {
70 }
DTHVStatus::DTHVStatus ( DTHVStatus const &  )
private

Member Function Documentation

int DTHVStatus::badChannelsNumber ( ) const

Definition at line 215 of file DTHVStatus.cc.

References begin(), data, end(), DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, getDQMSummary::iter, and DTHVStatusData::lCell.

215  {
216  int offNum = 0;
219  while ( iter != iend ) {
220  const std::pair<DTHVStatusId,DTHVStatusData>& entry = *iter++;
221  DTHVStatusId hvId = entry.first;
222  DTHVStatusData data = entry.second;
223  if ( data.flagA || data.flagC || data.flagS )
224  offNum += ( 1 + data.lCell - data.fCell );
225  }
226  return offNum;
227 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > >::const_iterator const_iterator
Access methods to data.
Definition: DTHVStatus.h:180
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const_iterator end() const
Definition: DTHVStatus.cc:497
const_iterator begin() const
Definition: DTHVStatus.cc:492
int DTHVStatus::badChannelsNumber ( const DTChamberId id) const

Definition at line 230 of file DTHVStatus.cc.

References begin(), data, end(), DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, getDQMSummary::iter, DTHVStatusData::lCell, and DTHVStatusId::stationId.

230  {
231  int offNum = 0;
234  while ( iter != iend ) {
235  const std::pair<DTHVStatusId,DTHVStatusData>& entry = *iter++;
236  DTHVStatusId hvId = entry.first;
237  DTHVStatusData data = entry.second;
238  if ( hvId. wheelId != id. wheel() ) continue;
239  if ( hvId.stationId != id.station() ) continue;
240  if ( hvId. sectorId != id. sector() ) continue;
241  if ( data.flagA || data.flagC || data.flagS )
242  offNum += ( 1 + data.lCell - data.fCell );
243  }
244  return offNum;
245 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > >::const_iterator const_iterator
Access methods to data.
Definition: DTHVStatus.h:180
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const_iterator end() const
Definition: DTHVStatus.cc:497
const_iterator begin() const
Definition: DTHVStatus.cc:492
DTHVStatus::const_iterator DTHVStatus::begin ( void  ) const

Definition at line 492 of file DTHVStatus.cc.

References dataList.

Referenced by badChannelsNumber(), DTHVStatusHandler::checkForPeriod(), DTHVStatusHandler::filterData(), DTHVHandler::offChannelsNumber(), and offChannelsNumber().

492  {
493  return dataList.begin();
494 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
void DTHVStatus::clear ( void  )
DTHVStatus::const_iterator DTHVStatus::end ( void  ) const

Definition at line 497 of file DTHVStatus.cc.

References dataList.

Referenced by badChannelsNumber(), DTHVStatusHandler::checkForPeriod(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), DTHVStatusHandler::filterData(), DTHVHandler::offChannelsNumber(), and offChannelsNumber().

497  {
498  return dataList.end();
499 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
int DTHVStatus::get ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
int  layerId,
int  partId,
int &  fCell,
int &  lCell,
int &  flagA,
int &  flagC,
int &  flagS 
) const

get content

Operations

Definition at line 84 of file DTHVStatus.cc.

References data, dataList, DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, DTHVStatusData::lCell, and edm::second().

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), DTHVHandler::get(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), DTHVStatusHandler::setChannelFlag(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().

94  {
95  fCell =
96  lCell =
97  flagA =
98  flagC =
99  flagS = 0;
100 
101  std::vector<int> chanKey;
102  chanKey.reserve(6);
103  chanKey.push_back( wheelId );
104  chanKey.push_back( stationId );
105  chanKey.push_back( sectorId );
106  chanKey.push_back( slId );
107  chanKey.push_back( layerId );
108  chanKey.push_back( partId );
109  int ientry;
110  int searchStatus = dBuf->find( chanKey.begin(), chanKey.end(), ientry );
111  if ( !searchStatus ) {
112  const DTHVStatusData& data( dataList[ientry].second );
113  fCell = data.fCell;
114  lCell = data.lCell;
115  flagA = data.flagA;
116  flagC = data.flagC;
117  flagS = data.flagS;
118  }
119 
120  return searchStatus;
121 
122 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
U second(std::pair< T, U > const &p)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
int DTHVStatus::get ( const DTLayerId id,
int  partId,
int &  fCell,
int &  lCell,
int &  flagA,
int &  flagC,
int &  flagS 
) const
int DTHVStatus::get ( const DTWireId id,
int &  flagA,
int &  flagC,
int &  flagS 
) const

Definition at line 142 of file DTHVStatus.cc.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().

145  {
146  flagA = flagC = flagS = 0;
147  int iCell = id.wire();
148  int fCell;
149  int lCell;
150  int
151  fCheck = get( id.wheel(),
152  id.station(),
153  id.sector(),
154  id.superLayer(),
155  id.layer(),
156  0, fCell, lCell,
157  flagA, flagC, flagS );
158  if ( ( fCheck == 0 ) &&
159  ( fCell <= iCell ) &&
160  ( lCell >= iCell ) ) return 0;
161  fCheck = get( id.wheel(),
162  id.station(),
163  id.sector(),
164  id.superLayer(),
165  id.layer(),
166  1, fCell, lCell,
167  flagA, flagC, flagS );
168  if ( ( fCheck == 0 ) &&
169  ( fCell <= iCell ) &&
170  ( lCell >= iCell ) ) return 0;
171  flagA = flagC = flagS = 0;
172  return 1;
173 }
void DTHVStatus::initialize ( )

Definition at line 509 of file DTHVStatus.cc.

References dataList, and DTHVStatusId::stationId.

Referenced by clear().

509  {
510 
511  dBuf->clear();
512 
513  int entryNum = 0;
514  int entryMax = dataList.size();
515  std::vector<int> chanKey;
516  chanKey.reserve(6);
517  while ( entryNum < entryMax ) {
518 
519  const DTHVStatusId& chan = dataList[entryNum].first;
520 
521  chanKey.clear();
522  chanKey.push_back( chan. wheelId );
523  chanKey.push_back( chan.stationId );
524  chanKey.push_back( chan. sectorId );
525  chanKey.push_back( chan. slId );
526  chanKey.push_back( chan. layerId );
527  chanKey.push_back( chan. partId );
528  dBuf->insert( chanKey.begin(), chanKey.end(), entryNum++ );
529 
530  }
531 
532  return;
533 
534 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
std::string DTHVStatus::mapName ( ) const
private

read and store full content

Definition at line 502 of file DTHVStatus.cc.

References dataVersion, and mergeVDriftHistosByStation::name.

502  {
503  std::stringstream name;
504  name << dataVersion << "_map_HV" << this;
505  return name.str();
506 }
std::string dataVersion
Definition: DTHVStatus.h:191
int DTHVStatus::offChannelsNumber ( ) const

Definition at line 176 of file DTHVStatus.cc.

References begin(), data, end(), DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, getDQMSummary::iter, and DTHVStatusData::lCell.

176  {
177  int offNum = 0;
180  while ( iter != iend ) {
181  const std::pair<DTHVStatusId,DTHVStatusData>& entry = *iter++;
182  DTHVStatusId hvId = entry.first;
183  DTHVStatusData data = entry.second;
184  int offA = data.flagA & 1;
185  int offC = data.flagC & 1;
186  int offS = data.flagS & 1;
187  if ( offA || offC || offS )
188  offNum += ( 1 + data.lCell - data.fCell );
189  }
190  return offNum;
191 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > >::const_iterator const_iterator
Access methods to data.
Definition: DTHVStatus.h:180
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const_iterator end() const
Definition: DTHVStatus.cc:497
const_iterator begin() const
Definition: DTHVStatus.cc:492
int DTHVStatus::offChannelsNumber ( const DTChamberId id) const

Definition at line 194 of file DTHVStatus.cc.

References begin(), data, end(), DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, getDQMSummary::iter, DTHVStatusData::lCell, and DTHVStatusId::stationId.

194  {
195  int offNum = 0;
198  while ( iter != iend ) {
199  const std::pair<DTHVStatusId,DTHVStatusData>& entry = *iter++;
200  DTHVStatusId hvId = entry.first;
201  DTHVStatusData data = entry.second;
202  if ( hvId. wheelId != id. wheel() ) continue;
203  if ( hvId.stationId != id.station() ) continue;
204  if ( hvId. sectorId != id. sector() ) continue;
205  int offA = data.flagA & 1;
206  int offC = data.flagC & 1;
207  int offS = data.flagS & 1;
208  if ( offA || offC || offS )
209  offNum += ( 1 + data.lCell - data.fCell );
210  }
211  return offNum;
212 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > >::const_iterator const_iterator
Access methods to data.
Definition: DTHVStatus.h:180
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const_iterator end() const
Definition: DTHVStatus.cc:497
const_iterator begin() const
Definition: DTHVStatus.cc:492
DTHVStatus& DTHVStatus::operator= ( DTHVStatus const &  )
private
int DTHVStatus::set ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
int  layerId,
int  partId,
int  fCell,
int  lCell,
int  flagA,
int  flagC,
int  flagS 
)

Definition at line 267 of file DTHVStatus.cc.

References data, dataList, DTHVStatusData::fCell, DTHVStatusData::flagA, DTHVStatusData::flagC, DTHVStatusData::flagS, combine::key, DTHVStatusData::lCell, edm::second(), and DTHVStatusId::stationId.

Referenced by betterConfigParser.BetterConfigParser::getGeneral(), set(), DTHVStatusHandler::setChannelFlag(), setFlagA(), setFlagC(), and setFlagS().

277  {
278 
279  std::vector<int> chanKey;
280  chanKey.reserve(6);
281  chanKey.push_back( wheelId );
282  chanKey.push_back( stationId );
283  chanKey.push_back( sectorId );
284  chanKey.push_back( slId );
285  chanKey.push_back( layerId );
286  chanKey.push_back( partId );
287  int ientry;
288  int searchStatus = dBuf->find( chanKey.begin(), chanKey.end(), ientry );
289 
290  if ( !searchStatus ) {
291  DTHVStatusData& data( dataList[ientry].second );
292  data.fCell = fCell;
293  data.lCell = lCell;
294  data.flagA = flagA;
295  data.flagC = flagC;
296  data.flagS = flagS;
297  return -1;
298  }
299  else {
301  key. wheelId = wheelId;
302  key.stationId = stationId;
303  key. sectorId = sectorId;
304  key. slId = slId;
305  key. layerId = layerId;
306  key. partId = partId;
308  data.fCell = fCell;
309  data.lCell = lCell;
310  data.flagA = flagA;
311  data.flagC = flagC;
312  data.flagS = flagS;
313  ientry = dataList.size();
314  dataList.push_back( std::pair<DTHVStatusId,
315  DTHVStatusData>( key, data ) );
316  dBuf->insert( chanKey.begin(), chanKey.end(), ientry );
317  return 0;
318  }
319 
320  return 99;
321 
322 }
std::vector< std::pair< DTHVStatusId, DTHVStatusData > > dataList
Definition: DTHVStatus.h:193
U second(std::pair< T, U > const &p)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
list key
Definition: combine.py:13
int DTHVStatus::set ( const DTLayerId id,
int  partId,
int  fCell,
int  lCell,
int  flagA,
int  flagC,
int  flagS 
)

Definition at line 325 of file DTHVStatus.cc.

References set(), and relativeConstraints::station.

Referenced by betterConfigParser.BetterConfigParser::getGeneral().

331  {
332  return set( id.wheel(),
333  id.station(),
334  id.sector(),
335  id.superLayer(),
336  id.layer(),
337  partId,
338  fCell, lCell, flagA, flagC, flagS );
339 }
int set(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
Definition: DTHVStatus.cc:267
int DTHVStatus::setFlagA ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
int  layerId,
int  partId,
int  flag 
)

Definition at line 342 of file DTHVStatus.cc.

References set().

Referenced by setFlagA().

348  {
349  int fCell;
350  int lCell;
351  int flagA;
352  int flagC;
353  int flagS;
354  get( wheelId,
355  stationId,
356  sectorId,
357  slId,
358  layerId,
359  partId,
360  fCell,
361  lCell,
362  flagA,
363  flagC,
364  flagS );
365  return set( wheelId,
366  stationId,
367  sectorId,
368  slId,
369  layerId,
370  partId,
371  fCell,
372  lCell,
373  flag,
374  flagC,
375  flagS );
376 }
int set(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
Definition: DTHVStatus.cc:267
int DTHVStatus::setFlagA ( const DTLayerId id,
int  partId,
int  flag 
)

Definition at line 379 of file DTHVStatus.cc.

References setFlagA(), and relativeConstraints::station.

381  {
382  return setFlagA( id.wheel(),
383  id.station(),
384  id.sector(),
385  id.superLayer(),
386  id.layer(),
387  partId,
388  flag );
389 }
int setFlagA(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
Definition: DTHVStatus.cc:342
int DTHVStatus::setFlagC ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
int  layerId,
int  partId,
int  flag 
)

Definition at line 392 of file DTHVStatus.cc.

References set().

Referenced by setFlagC().

398  {
399  int fCell;
400  int lCell;
401  int flagA;
402  int flagC;
403  int flagS;
404  get( wheelId,
405  stationId,
406  sectorId,
407  slId,
408  layerId,
409  partId,
410  fCell,
411  lCell,
412  flagA,
413  flagC,
414  flagS );
415  return set( wheelId,
416  stationId,
417  sectorId,
418  slId,
419  layerId,
420  partId,
421  fCell,
422  lCell,
423  flagA,
424  flag,
425  flagS );
426 }
int set(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
Definition: DTHVStatus.cc:267
int DTHVStatus::setFlagC ( const DTLayerId id,
int  partId,
int  flag 
)

Definition at line 429 of file DTHVStatus.cc.

References setFlagC(), and relativeConstraints::station.

431  {
432  return setFlagC( id.wheel(),
433  id.station(),
434  id.sector(),
435  id.superLayer(),
436  id.layer(),
437  partId,
438  flag );
439 }
int setFlagC(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
Definition: DTHVStatus.cc:392
int DTHVStatus::setFlagS ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
int  layerId,
int  partId,
int  flag 
)

Definition at line 442 of file DTHVStatus.cc.

References set().

Referenced by setFlagS().

448  {
449  int fCell;
450  int lCell;
451  int flagA;
452  int flagC;
453  int flagS;
454  get( wheelId,
455  stationId,
456  sectorId,
457  slId,
458  layerId,
459  partId,
460  fCell,
461  lCell,
462  flagA,
463  flagC,
464  flagS );
465  return set( wheelId,
466  stationId,
467  sectorId,
468  slId,
469  layerId,
470  partId,
471  fCell,
472  lCell,
473  flagA,
474  flagC,
475  flag );
476 }
int set(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int fCell, int lCell, int flagA, int flagC, int flagS)
Definition: DTHVStatus.cc:267
int DTHVStatus::setFlagS ( const DTLayerId id,
int  partId,
int  flag 
)

Definition at line 479 of file DTHVStatus.cc.

References setFlagS(), and relativeConstraints::station.

481  {
482  return setFlagS( id.wheel(),
483  id.station(),
484  id.sector(),
485  id.superLayer(),
486  id.layer(),
487  partId,
488  flag );
489 }
int setFlagS(int wheelId, int stationId, int sectorId, int slId, int layerId, int partId, int flag)
Definition: DTHVStatus.cc:442
const std::string & DTHVStatus::version ( ) const

access version

Definition at line 249 of file DTHVStatus.cc.

References dataVersion.

249  {
250  return dataVersion;
251 }
std::string dataVersion
Definition: DTHVStatus.h:191
std::string & DTHVStatus::version ( )

Definition at line 254 of file DTHVStatus.cc.

References dataVersion.

254  {
255  return dataVersion;
256 }
std::string dataVersion
Definition: DTHVStatus.h:191

Member Data Documentation

DTHVStatus::COND_SERIALIZABLE
private

Definition at line 201 of file DTHVStatus.h.

edm::ConstRespectingPtr<DTBufferTree<int,int> > dBuf DTHVStatus::COND_TRANSIENT
private

Definition at line 195 of file DTHVStatus.h.

std::vector< std::pair<DTHVStatusId,DTHVStatusData> > DTHVStatus::dataList
private

Definition at line 193 of file DTHVStatus.h.

Referenced by begin(), clear(), DTHVStatus(), end(), get(), initialize(), and set().

std::string DTHVStatus::dataVersion
private

Definition at line 191 of file DTHVStatus.h.

Referenced by mapName(), and version().