ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CondAttrListCollection Class Reference

This class is a collection of AttributeLists where each one is associated with a channel number. This allows R/W with COOL of multichannel conditions objects, stored in COOL itself. The collection looks like a vector of pairs of (channel num, AttributeList) where one may iterate over all of them or access each AttrList by channel number as in a map. One also maintains the IOV of each channel allow update of only invalid channels. More...

#include <CondAttrListCollection.h>

Inheritance diagram for CondAttrListCollection:
Collaboration diagram for CondAttrListCollection:

Public Types

typedef unsigned int ChanNum
 
typedef coral::AttributeList AttributeList
 
typedef std::map< ChanNum, coral::AttributeList > ChanAttrListMap
 
typedef ChanAttrListMap::value_type ChanAttrListPair
 
typedef std::map< ChanNum, IOVRangeChanIOVMap
 
typedef ChanIOVMap::value_type ChanIOVPair
 
typedef std::map< ChanNum, std::string > ChanNameMap
 
typedef ChanNameMap::value_type ChanNamePair
 
typedef ChanAttrListMap::const_iterator const_iterator
 
typedef ChanAttrListMap::iterator iterator
 
typedef ChanAttrListMap::size_type size_type
 
typedef ChanIOVMap::const_iterator iov_const_iterator
 
typedef ChanIOVMap::iterator iov_iterator
 
typedef ChanIOVMap::size_type iov_size_type
 
typedef ChanNameMap::const_iterator name_const_iterator
 
typedef ChanNameMap::iterator name_iterator
 
typedef ChanNameMap::size_type name_size_type
 

Public Member Functions

 CondAttrListCollection (bool hasRunLumiBlockTime)
 Constructor with specification for type of time: run/lumiBlock or timestamp. More...
 
 ~CondAttrListCollection ()
 
 CondAttrListCollection (const CondAttrListCollection &rhs)
 
CondAttrListCollectionoperator= (const CondAttrListCollection &rhs)=delete
 
const_iterator chanAttrListPair (ChanNum chanNum) const
 Access to Chan/AttributeList pairs via channel number: returns map iterator. More...
 
const_iterator begin () const
 Access to Chan/AttributeList pairs via iterators. More...
 
const_iterator end () const
 
size_type size () const
 number of Chan/AttributeList pairs More...
 
iov_const_iterator chanIOVPair (ChanNum chanNum) const
 Access to Chan/IOV pairs via channel number: returns map iterator. More...
 
iov_const_iterator iov_begin () const
 Access to Chan/IOV pairs via iterators. More...
 
iov_const_iterator iov_end () const
 
iov_size_type iov_size () const
 number of Chan/IOV pairs More...
 
name_const_iterator chanNamePair (ChanNum chanNum) const
 Access to Chan/Name pairs via channel number: returns map iterator. More...
 
name_const_iterator name_begin () const
 Access to Chan/Name pairs via iterators. More...
 
name_const_iterator name_end () const
 
name_size_type name_size () const
 number of Chan/Name pairs More...
 
ChanNum chanNum (unsigned int index) const
 channel number for index: (index = 0 to size-1) More...
 
bool fixChanNum (ChanNum oldChan, ChanNum newChan)
 
const AttributeListattributeList (ChanNum chanNum) const
 attribute list for a given channel number More...
 
const IOVRangeiovRange (ChanNum chanNum) const
 IOVRange list for a given channel number. More...
 
const std::string & chanName (ChanNum chanNum) const
 find name for particular channel More...
 
const IOVRangeminRange () const
 Current minimal IOVRange. More...
 
bool hasUniqueIOV () const
 Check whether there is a unique IOV for all channels. More...
 
bool add (ChanNum chanNum, const AttributeList &attributeList)
 Adding in chan/attrList pairs. More...
 
void addShared (ChanNum chanNum, const AttributeList &attributeList)
 Adding in chan/attrList pairs with shared data. More...
 
void add (ChanNum chanNum, const IOVRange &range)
 Adding in chan/iov range pairs. More...
 
void add (ChanNum chanNum, const std::string &name)
 Adding in chan/name pairs: ASSUMED TO BE IN ORDER. More...
 
void addNewStart (const IOVTime &start)
 Add new start time to minRange - make sure that start is >= to new start. More...
 
void addNewStop (const IOVTime &stop)
 Add new stop time to minRange - make sure that stop is <= to new stop
More...
 
void resetMinRange ()
 Reset minRange according to the IOVs of the contained channels. More...
 
void dump () const
 Dump our contents to std::cout. More...
 
void dump (std::ostringstream &stream) const
 Dump the contents to std::ostringstream. More...
 
bool operator== (const CondAttrListCollection &rhs) const
 Equal operator. More...
 
bool operator!= (const CondAttrListCollection &rhs) const
 Comparison operator. More...
 
bool isSameButMinRange (const CondAttrListCollection &rhs, bool ignoreIOVs=false) const
 Equal operator which ignores minRange. More...
 

Private Member Functions

 CondAttrListCollection ()
 Default constructor - we hide it to prevent clients from using it - forcing them to specify the type of IOVTime with the other constructor. More...
 

Private Attributes

ChanAttrListMap m_attrMap
 
ChanIOVMap m_iovMap
 
ChanNameMap m_nameMap
 
IOVRange m_minRange
 
bool m_hasUniqueIOV
 
bool m_hasRunLumiBlockTime
 
coral::AttributeListSpecification * m_spec
 

Detailed Description

This class is a collection of AttributeLists where each one is associated with a channel number. This allows R/W with COOL of multichannel conditions objects, stored in COOL itself. The collection looks like a vector of pairs of (channel num, AttributeList) where one may iterate over all of them or access each AttrList by channel number as in a map. One also maintains the IOV of each channel allow update of only invalid channels.

WARNING: In order to accumulation correctly the minimum IOVRange for all channels one needs to use the constructor which specifies the type of time being used, i.e. run/lumiBlock or timestamp

Definition at line 50 of file CondAttrListCollection.h.

Member Typedef Documentation

◆ AttributeList

typedef coral::AttributeList CondAttrListCollection::AttributeList

Definition at line 55 of file CondAttrListCollection.h.

◆ ChanAttrListMap

typedef std::map<ChanNum, coral::AttributeList> CondAttrListCollection::ChanAttrListMap

Definition at line 56 of file CondAttrListCollection.h.

◆ ChanAttrListPair

typedef ChanAttrListMap::value_type CondAttrListCollection::ChanAttrListPair

Definition at line 57 of file CondAttrListCollection.h.

◆ ChanIOVMap

Definition at line 58 of file CondAttrListCollection.h.

◆ ChanIOVPair

typedef ChanIOVMap::value_type CondAttrListCollection::ChanIOVPair

Definition at line 59 of file CondAttrListCollection.h.

◆ ChanNameMap

typedef std::map<ChanNum, std::string> CondAttrListCollection::ChanNameMap

Definition at line 60 of file CondAttrListCollection.h.

◆ ChanNamePair

typedef ChanNameMap::value_type CondAttrListCollection::ChanNamePair

Definition at line 61 of file CondAttrListCollection.h.

◆ ChanNum

typedef unsigned int CondAttrListCollection::ChanNum

Definition at line 54 of file CondAttrListCollection.h.

◆ const_iterator

typedef ChanAttrListMap::const_iterator CondAttrListCollection::const_iterator

Definition at line 62 of file CondAttrListCollection.h.

◆ iov_const_iterator

typedef ChanIOVMap::const_iterator CondAttrListCollection::iov_const_iterator

Definition at line 65 of file CondAttrListCollection.h.

◆ iov_iterator

typedef ChanIOVMap::iterator CondAttrListCollection::iov_iterator

Definition at line 66 of file CondAttrListCollection.h.

◆ iov_size_type

typedef ChanIOVMap::size_type CondAttrListCollection::iov_size_type

Definition at line 67 of file CondAttrListCollection.h.

◆ iterator

typedef ChanAttrListMap::iterator CondAttrListCollection::iterator

Definition at line 63 of file CondAttrListCollection.h.

◆ name_const_iterator

typedef ChanNameMap::const_iterator CondAttrListCollection::name_const_iterator

Definition at line 68 of file CondAttrListCollection.h.

◆ name_iterator

typedef ChanNameMap::iterator CondAttrListCollection::name_iterator

Definition at line 69 of file CondAttrListCollection.h.

◆ name_size_type

typedef ChanNameMap::size_type CondAttrListCollection::name_size_type

Definition at line 70 of file CondAttrListCollection.h.

◆ size_type

typedef ChanAttrListMap::size_type CondAttrListCollection::size_type

Definition at line 64 of file CondAttrListCollection.h.

Constructor & Destructor Documentation

◆ CondAttrListCollection() [1/3]

CondAttrListCollection::CondAttrListCollection ( bool  hasRunLumiBlockTime)
inlineexplicit

Constructor with specification for type of time: run/lumiBlock or timestamp.

Definition at line 218 of file CondAttrListCollection.h.

219  :
222  m_hasUniqueIOV(true),
223  m_hasRunLumiBlockTime(hasRunLumiBlockTime),
224  m_spec(nullptr)
225 {
226  if (!m_hasRunLumiBlockTime) {
229  }
230 }

◆ ~CondAttrListCollection()

CondAttrListCollection::~CondAttrListCollection ( )
inline

Definition at line 232 of file CondAttrListCollection.h.

232  {
233  if (m_spec) m_spec->release();
234 }

◆ CondAttrListCollection() [2/3]

CondAttrListCollection::CondAttrListCollection ( const CondAttrListCollection rhs)
inline

Definition at line 236 of file CondAttrListCollection.h.

237  :
238  DataObject::DataObject(rhs),
239  m_iovMap(rhs.m_iovMap),
240  m_nameMap(rhs.m_nameMap),
241  m_minRange(rhs.m_minRange),
244  m_spec(nullptr)
245 {
246  // members with normal semantics setup in initialisation list
247  // make a new cached AttributeListSpecificaiton and make the payload use it
248  if (!rhs.m_attrMap.empty()) {
249  m_spec=new coral::AttributeListSpecification();
250  const coral::AttributeList& atr1=rhs.m_attrMap.begin()->second;
251  for (const auto& attr : atr1) {
252  const coral::AttributeSpecification& aspec=attr.specification();
253  m_spec->extend(aspec.name(),aspec.typeName());
254  }
255  for (const auto& [chanNum, attrList] : rhs.m_attrMap) {
256  auto newit = m_attrMap.try_emplace(chanNum, *m_spec, true).first;
257  newit->second.fastCopyData(attrList);
258  }
259  }
260 }

◆ CondAttrListCollection() [3/3]

CondAttrListCollection::CondAttrListCollection ( )
inlineprivate

Default constructor - we hide it to prevent clients from using it - forcing them to specify the type of IOVTime with the other constructor.

Definition at line 208 of file CondAttrListCollection.h.

Member Function Documentation

◆ add() [1/3]

bool CondAttrListCollection::add ( ChanNum  chanNum,
const AttributeList attributeList 
)
inline

Adding in chan/attrList pairs.

Adding in chan/attrList pairs: ASSUMED TO BE IN ORDER.

Definition at line 451 of file CondAttrListCollection.h.

452 {
453  if (m_attrMap.empty()) {
454  m_spec=new coral::AttributeListSpecification();
455  for (const auto& attr : attributeList) {
456  const coral::AttributeSpecification& aspec=attr.specification();
457  m_spec->extend(aspec.name(),aspec.typeName());
458  }
459  }
461  m_attrMap[chanNum].fastCopyData(attributeList);
462 
463  return true;
464 }

◆ add() [2/3]

void CondAttrListCollection::add ( ChanNum  chanNum,
const IOVRange range 
)
inline

Adding in chan/iov range pairs.

Adding in chan/iov pairs: ASSUMED TO BE IN ORDER.

Definition at line 483 of file CondAttrListCollection.h.

484 {
486 
487  // Accumulate minRange
489  if (m_minRange.start() < range.start()) start = range.start();
491  if (range.stop() < m_minRange.stop()) stop = range.stop();
493  if (m_hasUniqueIOV && range != m_minRange)m_hasUniqueIOV = false;
494 }

◆ add() [3/3]

void CondAttrListCollection::add ( ChanNum  chanNum,
const std::string &  name 
)
inline

Adding in chan/name pairs: ASSUMED TO BE IN ORDER.

Definition at line 498 of file CondAttrListCollection.h.

499 {
501 }

◆ addNewStart()

void CondAttrListCollection::addNewStart ( const IOVTime start)
inline

Add new start time to minRange - make sure that start is >= to new start.

Definition at line 507 of file CondAttrListCollection.h.

508 {
509  if (start > m_minRange.start()) {
511  }
512 }

◆ addNewStop()

void CondAttrListCollection::addNewStop ( const IOVTime stop)
inline

Add new stop time to minRange - make sure that stop is <= to new stop

Add new stop time to minRange - make sure that stop is <= to new stop.

Definition at line 517 of file CondAttrListCollection.h.

518 {
519  if (stop < m_minRange.stop()) {
521  }
522 }

◆ addShared()

void CondAttrListCollection::addShared ( ChanNum  chanNum,
const AttributeList attributeList 
)
inline

Adding in chan/attrList pairs with shared data.

Adding in chan/attrList pairs with shared AttrList: ASSUMED TO BE IN ORDER.

Definition at line 468 of file CondAttrListCollection.h.

469 {
470  if (m_attrMap.empty()) {
471  m_spec=new coral::AttributeListSpecification();
472  for (const auto& attr : attributeList) {
473  const coral::AttributeSpecification& aspec=attr.specification();
474  m_spec->extend(aspec.name(),aspec.typeName());
475  }
476  }
479 }

◆ attributeList()

const CondAttrListCollection::AttributeList & CondAttrListCollection::attributeList ( ChanNum  chanNum) const
inline

attribute list for a given channel number

Definition at line 400 of file CondAttrListCollection.h.

401 {
402  const_iterator itr=m_attrMap.find(chanNum);
403  if (itr!=m_attrMap.end()) {
404  return itr->second;
405  } else {
406  static const AttributeList attr;
407  return attr;
408  }
409 }

◆ begin()

CondAttrListCollection::const_iterator CondAttrListCollection::begin ( ) const
inline

Access to Chan/AttributeList pairs via iterators.

Definition at line 308 of file CondAttrListCollection.h.

309 {
310  return (m_attrMap.begin());
311 }

◆ chanAttrListPair()

CondAttrListCollection::const_iterator CondAttrListCollection::chanAttrListPair ( ChanNum  chanNum) const
inline

Access to Chan/AttributeList pairs via channel number: returns map iterator.

Access to Chan/AttributeList pairs via channel number.

Definition at line 300 of file CondAttrListCollection.h.

301 {
302  return (m_attrMap.find(chanNum));
303 }

◆ chanIOVPair()

CondAttrListCollection::iov_const_iterator CondAttrListCollection::chanIOVPair ( ChanNum  chanNum) const
inline

Access to Chan/IOV pairs via channel number: returns map iterator.

Access to IOV pairs via channel number.

Definition at line 329 of file CondAttrListCollection.h.

330 {
331  return (m_iovMap.find(chanNum));
332 }

◆ chanName()

const std::string & CondAttrListCollection::chanName ( ChanNum  chanNum) const
inline

find name for particular channel

Definition at line 425 of file CondAttrListCollection.h.

425  {
427  if (itr!=m_nameMap.end()) {
428  return itr->second;
429  } else {
430  static const std::string name;
431  return name;
432  }
433 }

◆ chanNamePair()

CondAttrListCollection::name_const_iterator CondAttrListCollection::chanNamePair ( ChanNum  chanNum) const
inline

Access to Chan/Name pairs via channel number: returns map iterator.

Access to name via channel number.

Definition at line 356 of file CondAttrListCollection.h.

357 {
358  return (m_nameMap.find(chanNum));
359 }

◆ chanNum()

CondAttrListCollection::ChanNum CondAttrListCollection::chanNum ( unsigned int  index) const
inline

channel number for index: (index = 0 to size-1)

Definition at line 383 of file CondAttrListCollection.h.

384 {
385  if (index < size()) {
386  const_iterator it = begin();
387  unsigned int count = index;
388  while (count > 0) {
389  ++it;
390  --count;
391  }
392  return (it->first);
393  }
394  // otherwise return max
395  else return (0xFFFF);
396 }

◆ dump() [1/2]

void CondAttrListCollection::dump ( ) const
inline

Dump our contents to std::cout.

Definition at line 556 of file CondAttrListCollection.h.

557 {
558  // min range
559  std::cout << "min range: " << m_minRange << std::endl;
560 
561  // attribute list
562  for (const auto& [chanNum, attrList] : m_attrMap) {
563  std::cout << "chan, attr: " << chanNum << std::endl;
564  attrList.toOutputStream(std::cout) << std::endl;
565  }
566  // IOVs
567  for (const auto& [chanNum, iov] : m_iovMap) {
568  std::cout << "chan, iov: " << chanNum << std::endl;
569  std::cout << iov << std::endl;
570  }
571  // channel names
572  for (const auto& [chanNum, name] : m_nameMap) {
573  std::cout << "chan, name: " << chanNum << std::endl;
574  std::cout << name << std::endl;
575  }
576 
577 }

◆ dump() [2/2]

void CondAttrListCollection::dump ( std::ostringstream &  stream) const
inline

Dump the contents to std::ostringstream.

Definition at line 580 of file CondAttrListCollection.h.

581 {
582  stream << m_minRange << " iov size " << m_iovMap.size() << std::endl;
583  // IOVs
584  for (const auto& [chanNum, iov] : m_iovMap) {
585  stream << "chan, iov: " << chanNum << " " << iov << std::endl;
586  }
587  // Attribute list
588  for (const auto& [chanNum, attrList] : m_attrMap) {
589  stream << "chan, attr: " << chanNum << std::endl;
590  attrList.toOutputStream(stream) << std::endl;
591  }
592  // channel names
593  for (const auto& [chanNum, name] : m_nameMap) {
594  stream << "chan, name: " << chanNum << " " << name << std::endl;
595  }
596 }

◆ end()

CondAttrListCollection::const_iterator CondAttrListCollection::end ( ) const
inline

Definition at line 314 of file CondAttrListCollection.h.

315 {
316  return (m_attrMap.end());
317 }

◆ fixChanNum()

bool CondAttrListCollection::fixChanNum ( ChanNum  oldChan,
ChanNum  newChan 
)
inline

Definition at line 667 of file CondAttrListCollection.h.

668  {
669  auto attrRet = m_attrMap.emplace(newChan, m_attrMap[oldChan]);
670  // if a new element was inserted, erase the old one
671  if (attrRet.second) m_attrMap.erase(oldChan);
672 
673  auto iovRet = m_iovMap.emplace(newChan, m_iovMap[oldChan]);
674  // if a new element was inserted, erase the old one
675  if (iovRet.second) m_iovMap.erase(oldChan);
676 
677  auto nameRet = m_nameMap.emplace(newChan, m_nameMap[oldChan]);
678  // if a new element was inserted, erase the old one
679  if (nameRet.second) m_nameMap.erase(oldChan);
680 
681  return attrRet.first->first == newChan
682  && iovRet.first->first == newChan
683  && nameRet.first->first == newChan;
684  }

◆ hasUniqueIOV()

bool CondAttrListCollection::hasUniqueIOV ( ) const
inline

Check whether there is a unique IOV for all channels.

Definition at line 444 of file CondAttrListCollection.h.

445 {
446  return (m_hasUniqueIOV);
447 }

◆ iov_begin()

CondAttrListCollection::iov_const_iterator CondAttrListCollection::iov_begin ( ) const
inline

Access to Chan/IOV pairs via iterators.

Access to AttributeList pairs via iterators.

Definition at line 336 of file CondAttrListCollection.h.

337 {
338  return (m_iovMap.begin());
339 }

◆ iov_end()

CondAttrListCollection::iov_const_iterator CondAttrListCollection::iov_end ( ) const
inline

Definition at line 342 of file CondAttrListCollection.h.

343 {
344  return (m_iovMap.end());
345 }

◆ iov_size()

CondAttrListCollection::iov_size_type CondAttrListCollection::iov_size ( ) const
inline

number of Chan/IOV pairs

number of pairs

Definition at line 349 of file CondAttrListCollection.h.

350 {
351  return (m_iovMap.size());
352 }

◆ iovRange()

const IOVRange & CondAttrListCollection::iovRange ( ChanNum  chanNum) const
inline

IOVRange list for a given channel number.

Definition at line 413 of file CondAttrListCollection.h.

414 {
416  if (itr!=m_iovMap.end()) {
417  return itr->second;
418  } else {
419  // Default is the minRange
420  return (m_minRange);
421  }
422 }

◆ isSameButMinRange()

bool CondAttrListCollection::isSameButMinRange ( const CondAttrListCollection rhs,
bool  ignoreIOVs = false 
) const
inline

Equal operator which ignores minRange.

Same as equal operator but ignores the values for minRange. This allows merging of AttrListColls which have the same content and differ only by the minRange.

Definition at line 621 of file CondAttrListCollection.h.

623 {
624 
625  // Compare with right hand side
626 
627  if(m_hasUniqueIOV != rhs.m_hasUniqueIOV) return false;
628  if(m_hasRunLumiBlockTime != rhs.m_hasRunLumiBlockTime) return false;
629  if (m_attrMap.size() != rhs.m_attrMap.size()) return false;
630  if (m_iovMap.size() != rhs.m_iovMap.size()) return false;
631  if (m_nameMap.size() != rhs.m_nameMap.size()) return false;
632 
633  if (!ignoreIOVs) {
634  // Check IOVs
635  auto it1 = m_iovMap.begin();
636  auto it2 = rhs.m_iovMap.begin();
637  auto end1 = m_iovMap.end();
638  for (; it1 != end1; ++it1, ++it2) {
639  if (it1->first != it2->first) return false;
640  if (it1->second != it2->second) return false;
641  }
642  }
643 
644  // Check attribute lists
645  auto it3 = m_attrMap.begin();
646  auto it4 = rhs.m_attrMap.begin();
647  auto end3 = m_attrMap.end();
648  for (; it3 != end3; ++it3, ++it4) {
649  if (it3->first != it4->first) return false;
650  if (it3->second != it4->second) return false;
651  }
652 
653  // Check names
654  auto it5 = m_nameMap.begin();
655  auto it6 = rhs.m_nameMap.begin();
656  auto end5 = m_nameMap.end();
657  for (; it5 != end5; ++it5, ++it6) {
658  if (it5->first != it6->first) return false;
659  if (it5->second != it6->second) return false;
660  }
661 
662  return true;
663 }

◆ minRange()

const IOVRange & CondAttrListCollection::minRange ( ) const
inline

Current minimal IOVRange.

Definition at line 437 of file CondAttrListCollection.h.

438 {
439  return (m_minRange);
440 }

◆ name_begin()

CondAttrListCollection::name_const_iterator CondAttrListCollection::name_begin ( ) const
inline

Access to Chan/Name pairs via iterators.

Access to chan/name pairs via iterators.

Definition at line 363 of file CondAttrListCollection.h.

364 {
365  return (m_nameMap.begin());
366 }

◆ name_end()

CondAttrListCollection::name_const_iterator CondAttrListCollection::name_end ( ) const
inline

Definition at line 369 of file CondAttrListCollection.h.

370 {
371  return (m_nameMap.end());
372 }

◆ name_size()

CondAttrListCollection::name_size_type CondAttrListCollection::name_size ( ) const
inline

number of Chan/Name pairs

number of pairs

Definition at line 376 of file CondAttrListCollection.h.

377 {
378  return (m_nameMap.size());
379 }

◆ operator!=()

Comparison operator.

Compares channels, IOVs and attributes. For attributes only types and values are compared, not the attribute names

Definition at line 614 of file CondAttrListCollection.h.

615 {
616  return (!((*this) == rhs));
617 }

◆ operator=()

CondAttrListCollection& CondAttrListCollection::operator= ( const CondAttrListCollection rhs)
delete

◆ operator==()

bool CondAttrListCollection::operator== ( const CondAttrListCollection rhs) const
inline

Equal operator.

Compares channels, IOVs and attributes. For attributes only types and values are compared, not the attribute names

Definition at line 601 of file CondAttrListCollection.h.

602 {
603 
604  // Compare minRange
605  if (m_minRange != rhs.m_minRange) return false;
606  // Rest is in isSameButMinRange
607  return (isSameButMinRange (rhs));
608 }

◆ resetMinRange()

void CondAttrListCollection::resetMinRange ( )
inline

Reset minRange according to the IOVs of the contained channels.

This is needed to expand minRange, done with a subsequent addNewStart/Stop.

Definition at line 528 of file CondAttrListCollection.h.

529 {
530  // Reset minRange to max
531  if (m_minRange.start().isTimestamp()) {
533  }
534  else {
537  }
539  iov_const_iterator last1 = iov_end();
540  for (; it1 != last1; ++it1) {
541  const IOVTime& start = (*it1).second.start();
542  const IOVTime& stop = (*it1).second.stop();
543  if (start > m_minRange.start() && stop < m_minRange.stop()) {
545  }
546  else if (start > m_minRange.start()) {
548  }
549  else if (stop < m_minRange.stop()) {
551  }
552  }
553 }

◆ size()

CondAttrListCollection::size_type CondAttrListCollection::size ( ) const
inline

number of Chan/AttributeList pairs

number of pairs

Definition at line 321 of file CondAttrListCollection.h.

322 {
323  return (m_attrMap.size());
324 }

Member Data Documentation

◆ m_attrMap

ChanAttrListMap CondAttrListCollection::m_attrMap
private

Definition at line 190 of file CondAttrListCollection.h.

◆ m_hasRunLumiBlockTime

bool CondAttrListCollection::m_hasRunLumiBlockTime
private

Definition at line 195 of file CondAttrListCollection.h.

◆ m_hasUniqueIOV

bool CondAttrListCollection::m_hasUniqueIOV
private

Definition at line 194 of file CondAttrListCollection.h.

◆ m_iovMap

ChanIOVMap CondAttrListCollection::m_iovMap
private

Definition at line 191 of file CondAttrListCollection.h.

◆ m_minRange

IOVRange CondAttrListCollection::m_minRange
private

Definition at line 193 of file CondAttrListCollection.h.

◆ m_nameMap

ChanNameMap CondAttrListCollection::m_nameMap
private

Definition at line 192 of file CondAttrListCollection.h.

◆ m_spec

coral::AttributeListSpecification* CondAttrListCollection::m_spec
private

Definition at line 196 of file CondAttrListCollection.h.


The documentation for this class was generated from the following file:
dqt_zlumi_alleff_HIST.iov
iov
Definition: dqt_zlumi_alleff_HIST.py:119
IOVRange
Validity Range object. Holds two IOVTimes (start and stop)
Definition: IOVRange.h:30
CondAttrListCollection::iov_end
iov_const_iterator iov_end() const
Definition: CondAttrListCollection.h:342
IOVTime::MAXRUN
static constexpr uint32_t MAXRUN
Definition: IOVTime.h:48
index
Definition: index.py:1
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:13
IOVRange::start
const IOVTime & start() const
Definition: IOVRange.h:38
skel.it
it
Definition: skel.GENtoEVGEN.py:407
CondAttrListCollection::begin
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
Definition: CondAttrListCollection.h:308
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CondAttrListCollection::iov_const_iterator
ChanIOVMap::const_iterator iov_const_iterator
Definition: CondAttrListCollection.h:65
XMLtoHeader.count
count
Definition: XMLtoHeader.py:84
IOVTime::MINRUN
static constexpr uint32_t MINRUN
Definition: IOVTime.h:44
IOVRange::stop
const IOVTime & stop() const
Definition: IOVRange.h:39
CondAttrListCollection::name_const_iterator
ChanNameMap::const_iterator name_const_iterator
Definition: CondAttrListCollection.h:68
IOVTime
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
Definition: IOVTime.h:33
CondAttrListCollection::m_iovMap
ChanIOVMap m_iovMap
Definition: CondAttrListCollection.h:191
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
IOVTime::MAXTIMESTAMP
static constexpr uint64_t MAXTIMESTAMP
Definition: IOVTime.h:58
IOVTime::isTimestamp
bool isTimestamp() const noexcept
Definition: IOVTime.h:111
CondAttrListCollection::m_attrMap
ChanAttrListMap m_attrMap
Definition: CondAttrListCollection.h:190
CondAttrListCollection::chanNum
ChanNum chanNum(unsigned int index) const
channel number for index: (index = 0 to size-1)
Definition: CondAttrListCollection.h:383
CondAttrListCollection::attributeList
const AttributeList & attributeList(ChanNum chanNum) const
attribute list for a given channel number
Definition: CondAttrListCollection.h:400
CondAttrListCollection::m_hasRunLumiBlockTime
bool m_hasRunLumiBlockTime
Definition: CondAttrListCollection.h:195
IOVTime::MAXEVENT
static constexpr uint32_t MAXEVENT
Definition: IOVTime.h:51
CondAttrListCollection::isSameButMinRange
bool isSameButMinRange(const CondAttrListCollection &rhs, bool ignoreIOVs=false) const
Equal operator which ignores minRange.
Definition: CondAttrListCollection.h:621
CondAttrListCollection::m_spec
coral::AttributeListSpecification * m_spec
Definition: CondAttrListCollection.h:196
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CondAttrListCollection::iov_begin
iov_const_iterator iov_begin() const
Access to Chan/IOV pairs via iterators.
Definition: CondAttrListCollection.h:336
IOVTime::MINEVENT
static constexpr uint32_t MINEVENT
Definition: IOVTime.h:50
CondAttrListCollection::size
size_type size() const
number of Chan/AttributeList pairs
Definition: CondAttrListCollection.h:321
CondAttrListCollection::m_hasUniqueIOV
bool m_hasUniqueIOV
Definition: CondAttrListCollection.h:194
CondAttrListCollection::m_minRange
IOVRange m_minRange
Definition: CondAttrListCollection.h:193
DeMoScan.index
string index
Definition: DeMoScan.py:362
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:62
IOVTime::MINTIMESTAMP
static constexpr uint64_t MINTIMESTAMP
Definition: IOVTime.h:56
CondAttrListCollection::AttributeList
coral::AttributeList AttributeList
Definition: CondAttrListCollection.h:55
CondAttrListCollection::m_nameMap
ChanNameMap m_nameMap
Definition: CondAttrListCollection.h:192