ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloPpmFineTimeRefsContainer Class Reference

#include <L1CaloPpmFineTimeRefsContainer.h>

Inheritance diagram for L1CaloPpmFineTimeRefsContainer:
Collaboration diagram for L1CaloPpmFineTimeRefsContainer:

Public Types

enum  eCoolFolders { ePpmFineTimeRefss }
typedef std::map< unsignedint, L1CaloPpmFineTimeRefs >::const_iterator const_iterator

Public Member Functions

 L1CaloPpmFineTimeRefsContainer ()
 L1CaloPpmFineTimeRefsContainer (const std::map< L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string > &folderKeysMap)
virtual ~L1CaloPpmFineTimeRefsContainer ()
virtual DataObject * makePersistent () const
virtual void makeTransient (const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
const L1CaloPpmFineTimeRefsppmFineTimeRefs (unsigned int channelId) const
const L1CaloPpmFineTimeRefsppmFineTimeRefs (const L1CaloCoolChannelId &channelId) const
void addPpmFineTimeRefs (unsigned int channelId, const L1CaloPpmFineTimeRefs &ppmFineTimeRefs)
void addPpmFineTimeRefs (const L1CaloCoolChannelId &channelId, const L1CaloPpmFineTimeRefs &ppmFineTimeRefs)
L1CaloPpmFineTimeRefsMap::const_iterator begin () const
L1CaloPpmFineTimeRefsMap::const_iterator end () const
virtual std::vector< std::string > coolInputKeys () const
virtual std::string coolOutputKey () const
virtual void clear ()
void dump () const
virtual void makeTransient (const std::map< std::string, const AthenaAttributeList * > &condAttributeList)
std::string specificationName (int specId) const
std::string specificationType (int specId) const
void addSpecification (int specId, const std::string &specName, const std::string &specType)
coral::AttributeListSpecification * createAttributeListSpecification () const
virtual std::string conditionType () const

Private Types

enum  eAttrSpecification { eErrorCode , eRefValue , eCriterion , eCalibValue }
typedef std::map< int, std::string > AttrSpecificationMap

Private Member Functions

std::string coolFolderKey (L1CaloPpmFineTimeRefsContainer::eCoolFolders efolder) const

Private Attributes

L1CaloPpmFineTimeRefsMap m_mPpmFineTimeRefsMap
std::map< L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap
AttrSpecificationMap m_attrSpecificationNameMap
AttrSpecificationMap m_attrSpecificationTypeMap
std::string m_strConditionType

Detailed Description

Definition at line 30 of file L1CaloPpmFineTimeRefsContainer.h.

Member Typedef Documentation

◆ AttrSpecificationMap

typedef std::map<int, std::string> AbstractL1CaloPersistentCondition::AttrSpecificationMap
privateinherited

Definition at line 50 of file AbstractL1CaloPersistentCondition.h.

◆ const_iterator

Member Enumeration Documentation

◆ eAttrSpecification

◆ eCoolFolders

Constructor & Destructor Documentation

◆ L1CaloPpmFineTimeRefsContainer() [1/2]

L1CaloPpmFineTimeRefsContainer::L1CaloPpmFineTimeRefsContainer ( )

Definition at line 15 of file L1CaloPpmFineTimeRefsContainer.cxx.

15 :AbstractL1CaloPersistentCondition("CondAttrListCollection") {
16 // Define DB rows names and types in order to construct the AttributeListSpecification object
17 this->addSpecification(eErrorCode, std::string("ErrorCode"), std::string("UInt32"));
18 this->addSpecification(eRefValue, std::string("referenceValue"), std::string("double"));
19 this->addSpecification(eCriterion, std::string("criterionValue"), std::string("double"));
20 this->addSpecification(eCalibValue, std::string("calibrationFactor"), std::string("double"));
21
22
23 m_mCoolFoldersKeysMap[L1CaloPpmFineTimeRefsContainer::ePpmFineTimeRefss] = std::string("/TRIGGER/L1Calo/V1/References/FineTimeReferences");
24}
AbstractL1CaloPersistentCondition(const std::string &condType)
void addSpecification(int specId, const std::string &specName, const std::string &specType)
std::map< L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap

◆ L1CaloPpmFineTimeRefsContainer() [2/2]

L1CaloPpmFineTimeRefsContainer::L1CaloPpmFineTimeRefsContainer ( const std::map< L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string > & folderKeysMap)

Definition at line 26 of file L1CaloPpmFineTimeRefsContainer.cxx.

26 :AbstractL1CaloPersistentCondition("CondAttrListCollection"),
27 m_mCoolFoldersKeysMap(folderKeysMap)
28{
29 // Define DB rows names and types in order to construct the AttributeListSpecification object
30 this->addSpecification(eErrorCode, std::string("ErrorCode"), std::string("UInt32"));
31 this->addSpecification(eRefValue, std::string("referenceValue"), std::string("double"));
32 this->addSpecification(eCriterion, std::string("criterionValue"), std::string("double"));
33 this->addSpecification(eCalibValue, std::string("calibrationFactor"), std::string("double"));
34}

◆ ~L1CaloPpmFineTimeRefsContainer()

virtual L1CaloPpmFineTimeRefsContainer::~L1CaloPpmFineTimeRefsContainer ( )
inlinevirtual

Definition at line 42 of file L1CaloPpmFineTimeRefsContainer.h.

42{};

Member Function Documentation

◆ addPpmFineTimeRefs() [1/2]

void L1CaloPpmFineTimeRefsContainer::addPpmFineTimeRefs ( const L1CaloCoolChannelId & channelId,
const L1CaloPpmFineTimeRefs & ppmFineTimeRefs )

Definition at line 133 of file L1CaloPpmFineTimeRefsContainer.cxx.

133 {
134 this->addPpmFineTimeRefs(channelId.id(), fir);
135}
void addPpmFineTimeRefs(unsigned int channelId, const L1CaloPpmFineTimeRefs &ppmFineTimeRefs)

◆ addPpmFineTimeRefs() [2/2]

void L1CaloPpmFineTimeRefsContainer::addPpmFineTimeRefs ( unsigned int channelId,
const L1CaloPpmFineTimeRefs & ppmFineTimeRefs )

Definition at line 129 of file L1CaloPpmFineTimeRefsContainer.cxx.

129 {
131}

◆ addSpecification()

void AbstractL1CaloPersistentCondition::addSpecification ( int specId,
const std::string & specName,
const std::string & specType )
inherited

Definition at line 26 of file AbstractL1CaloPersistentCondition.cxx.

26 {
27 m_attrSpecificationNameMap[specId] = specName;
28 m_attrSpecificationTypeMap[specId] = specType;
29}

◆ begin()

L1CaloPpmFineTimeRefsMap::const_iterator L1CaloPpmFineTimeRefsContainer::begin ( ) const
inline

Definition at line 54 of file L1CaloPpmFineTimeRefsContainer.h.

54{ return m_mPpmFineTimeRefsMap.begin(); };

◆ clear()

void L1CaloPpmFineTimeRefsContainer::clear ( )
virtual

Reimplemented from AbstractL1CaloPersistentCondition.

Definition at line 144 of file L1CaloPpmFineTimeRefsContainer.cxx.

144 {
145 m_mPpmFineTimeRefsMap.clear();
146}

◆ conditionType()

virtual std::string AbstractL1CaloPersistentCondition::conditionType ( ) const
inlinevirtualinherited

◆ coolFolderKey()

std::string L1CaloPpmFineTimeRefsContainer::coolFolderKey ( L1CaloPpmFineTimeRefsContainer::eCoolFolders efolder) const
private

Definition at line 36 of file L1CaloPpmFineTimeRefsContainer.cxx.

36 {
37
38 std::map<L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string>::const_iterator it = m_mCoolFoldersKeysMap.find(efolder);
39 if(it!=m_mCoolFoldersKeysMap.end()) {
40 return it->second;
41 } else {
42 return std::string("");
43 }
44}

◆ coolInputKeys()

std::vector< std::string > L1CaloPpmFineTimeRefsContainer::coolInputKeys ( ) const
virtual

Reimplemented from AbstractL1CaloPersistentCondition.

Definition at line 46 of file L1CaloPpmFineTimeRefsContainer.cxx.

46 {
47 std::vector<std::string> v;
49 return v;
50}
std::string coolFolderKey(L1CaloPpmFineTimeRefsContainer::eCoolFolders efolder) const

◆ coolOutputKey()

std::string L1CaloPpmFineTimeRefsContainer::coolOutputKey ( ) const
virtual

◆ createAttributeListSpecification()

coral::AttributeListSpecification * AbstractL1CaloPersistentCondition::createAttributeListSpecification ( ) const
inherited

Definition at line 31 of file AbstractL1CaloPersistentCondition.cxx.

31 {
32
33 coral::AttributeListSpecification* attrSpecification = new coral::AttributeListSpecification();
34
35 AttrSpecificationMap::const_iterator it_name = m_attrSpecificationNameMap.begin();
36 AttrSpecificationMap::const_iterator it_type = m_attrSpecificationTypeMap.begin();
37
38 for(;it_name!=m_attrSpecificationNameMap.end();++it_name,++it_type) {
39 attrSpecification->extend(it_name->second, it_type->second);
40 }
41 return attrSpecification;
42}

◆ dump()

void L1CaloPpmFineTimeRefsContainer::dump ( ) const

Definition at line 137 of file L1CaloPpmFineTimeRefsContainer.cxx.

137 {
139 for(;it!=this->end();++it) {
140 std::cout << " * item: " <<it->first << " => "<<it->second <<std::endl;
141 }
142}
L1CaloPpmFineTimeRefsMap::const_iterator begin() const
std::map< unsignedint, L1CaloPpmFineTimeRefs >::const_iterator const_iterator
L1CaloPpmFineTimeRefsMap::const_iterator end() const

◆ end()

L1CaloPpmFineTimeRefsMap::const_iterator L1CaloPpmFineTimeRefsContainer::end ( ) const
inline

Definition at line 55 of file L1CaloPpmFineTimeRefsContainer.h.

55{ return m_mPpmFineTimeRefsMap.end(); };

◆ makePersistent()

DataObject * L1CaloPpmFineTimeRefsContainer::makePersistent ( ) const
virtual

Reimplemented from AbstractL1CaloPersistentCondition.

Definition at line 56 of file L1CaloPpmFineTimeRefsContainer.cxx.

56 {
57
58 if(m_mPpmFineTimeRefsMap.size()==0) return 0;
59
60 // Create AttributeListSpecification according to the attributes to be recorded
61 // this is required to create the AttributeList objs
62 coral::AttributeListSpecification* attrSpecification = this->createAttributeListSpecification();
63 if(!attrSpecification->size()) return NULL;
64
65 CondAttrListCollection* attrListCollection = new CondAttrListCollection(true);
66
67 L1CaloPpmFineTimeRefsMap::const_iterator pos = m_mPpmFineTimeRefsMap.begin();
68 for(;pos!=m_mPpmFineTimeRefsMap.end();++pos) {
69 const unsigned int channelId = pos->first;
70 const L1CaloPpmFineTimeRefs& p = pos->second;
71
72 AthenaAttributeList attrList(*attrSpecification);
73
74 // Set value of each row for the current channel
75 attrList[ this->specificationName(eErrorCode) ].setValue(p.errorCode().errorCode());
76 attrList[ this->specificationName(eRefValue) ].setValue(p.refValue());
77 attrList[ this->specificationName(eCriterion) ].setValue(p.criterion());
78 attrList[ this->specificationName(eCalibValue) ].setValue(p.calibValue());
79
80 attrListCollection->add(channelId, attrList);
81 }
82
83 return attrListCollection;
84}
coral::AttributeListSpecification * createAttributeListSpecification() const
bool add(ChanNum chanNum, const AttributeList &attributeList)
Adding in chan/attrList pairs.

◆ makeTransient() [1/2]

void AbstractL1CaloPersistentCondition::makeTransient ( const std::map< std::string, const AthenaAttributeList * > & condAttributeList)
virtual

Reimplemented from AbstractL1CaloPersistentCondition.

Definition at line 30 of file AbstractL1CaloPersistentCondition.cxx.

21 {
22 std::cout << "ERROR - The makeTransient(const map<std::string, const AthenaAttributeList*>) method you are calling is not implemented by the current class !" << std::endl;
23 return;
24}

◆ makeTransient() [2/2]

void L1CaloPpmFineTimeRefsContainer::makeTransient ( const std::map< std::string, const CondAttrListCollection * > & condAttrListCollectionMap)
virtual

Reimplemented from AbstractL1CaloPersistentCondition.

Definition at line 86 of file L1CaloPpmFineTimeRefsContainer.cxx.

86 {
87
88 this->clear();
89
90 std::map<std::string, const CondAttrListCollection*>::const_iterator it_map;
91
92 it_map = condAttrListCollectionMap.find(this->coolFolderKey(L1CaloPpmFineTimeRefsContainer::ePpmFineTimeRefss));
93 if(it_map!=condAttrListCollectionMap.end()) {
94
95 const CondAttrListCollection* attrListCollection = it_map->second;
96
97 //loop over CondAttrListCollection
98 CondAttrListCollection::const_iterator it = attrListCollection->begin();
99 for(;it!=attrListCollection->end();++it) {
100
101 const coral::AttributeList& attrList = it->second;
102
103 // Get value of each row for the current channel
105
106 FineTimeErrorCode errorCode(attrList[ this->specificationName(eErrorCode) ].data<unsigned int>());
107 double refVal = attrList[ this->specificationName(eRefValue) ].data<double>();
108 double criterion = attrList[ this->specificationName(eCriterion) ].data<double>();
109 double calibVal = attrList[ this->specificationName(eCalibValue) ].data<double>();
110
111 L1CaloPpmFineTimeRefs l1caloFineTimeRefs(chanNum, errorCode, refVal, criterion, calibVal);
112 m_mPpmFineTimeRefsMap[chanNum] = l1caloFineTimeRefs;
113 }
114 } else {
115 std::cout<<"L1CaloPpmFineTimeRefsContainer : Could not find requested CondAttrListCollection "<< this->coolFolderKey(L1CaloPpmFineTimeRefsContainer::ePpmFineTimeRefss) << std::endl;
116 }
117}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
const_iterator end() const
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
ChanAttrListMap::const_iterator const_iterator

◆ ppmFineTimeRefs() [1/2]

const L1CaloPpmFineTimeRefs * L1CaloPpmFineTimeRefsContainer::ppmFineTimeRefs ( const L1CaloCoolChannelId & channelId) const

Definition at line 125 of file L1CaloPpmFineTimeRefsContainer.cxx.

125 {
126 return this->ppmFineTimeRefs(channelId.id());
127}
const L1CaloPpmFineTimeRefs * ppmFineTimeRefs(unsigned int channelId) const

◆ ppmFineTimeRefs() [2/2]

const L1CaloPpmFineTimeRefs * L1CaloPpmFineTimeRefsContainer::ppmFineTimeRefs ( unsigned int channelId) const

Definition at line 119 of file L1CaloPpmFineTimeRefsContainer.cxx.

119 {
120 L1CaloPpmFineTimeRefsMap::const_iterator pos = m_mPpmFineTimeRefsMap.find(channelId);
121 if(pos==m_mPpmFineTimeRefsMap.end()) return 0;
122 else return &(pos->second);
123}

◆ specificationName()

std::string AbstractL1CaloPersistentCondition::specificationName ( int specId) const
inherited

Definition at line 44 of file AbstractL1CaloPersistentCondition.cxx.

44 {
45 return m_attrSpecificationNameMap.find(specId)->second;
46}

◆ specificationType()

std::string AbstractL1CaloPersistentCondition::specificationType ( int specId) const
inherited

Definition at line 48 of file AbstractL1CaloPersistentCondition.cxx.

48 {
49 return m_attrSpecificationTypeMap.find(specId)->second;
50}

Member Data Documentation

◆ m_attrSpecificationNameMap

AttrSpecificationMap AbstractL1CaloPersistentCondition::m_attrSpecificationNameMap
privateinherited

Definition at line 51 of file AbstractL1CaloPersistentCondition.h.

◆ m_attrSpecificationTypeMap

AttrSpecificationMap AbstractL1CaloPersistentCondition::m_attrSpecificationTypeMap
privateinherited

Definition at line 52 of file AbstractL1CaloPersistentCondition.h.

◆ m_mCoolFoldersKeysMap

std::map<L1CaloPpmFineTimeRefsContainer::eCoolFolders, std::string> L1CaloPpmFineTimeRefsContainer::m_mCoolFoldersKeysMap
private

Definition at line 68 of file L1CaloPpmFineTimeRefsContainer.h.

◆ m_mPpmFineTimeRefsMap

L1CaloPpmFineTimeRefsMap L1CaloPpmFineTimeRefsContainer::m_mPpmFineTimeRefsMap
private

Definition at line 67 of file L1CaloPpmFineTimeRefsContainer.h.

◆ m_strConditionType

std::string AbstractL1CaloPersistentCondition::m_strConditionType
privateinherited

Definition at line 53 of file AbstractL1CaloPersistentCondition.h.


The documentation for this class was generated from the following files: