ATLAS Offline Software
LArConditionsContainerBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
16 #ifndef LARRAWCONDITIONS_LARCONDITIONSCONTAINERBASE_H
17 #define LARRAWCONDITIONS_LARCONDITIONSCONTAINERBASE_H
18 
30 #include "GaudiKernel/StatusCode.h"
31 #include <vector>
32 #include <string>
33 
34 // Forward delcarations
35 class LArOnlineID_Base;
36 class CaloCell_Base_ID;
37 class MsgStream;
38 
40 {
41 public:
42 
44  enum GroupingType {
45  Unknown = 0,
52  };
53 
55 
58 
61 
64 
67 
71 
74  StatusCode setGroupingType(const std::string& groupingStr, MsgStream& logStr);
75 
77  const LArOnlineID_Base* onlineHelper() const;
78 
80  const CaloCell_Base_ID* offlineHelper() const;
81 
83  const FEBIdVector& febIdVector(unsigned int gain,
84  unsigned int coolChannel) const;
85 
91  // setFlag = true and flag = <changed value>
92  static bool applyCorrectionsAtInit(bool setFlag = false, bool flag = true);
93 
94 protected:
95 
97 
98  std::string groupingTypeToString() const;
99 
100 
101  // Get correction index for online id and gain
103  unsigned int gain,
104  unsigned int& index,
105  unsigned int& coolChannel);
106 
111 
112  // Table to map from Cool channel number to index in
113  // CondMultChanCollection - when writing this can be all mixed up
114  std::vector<unsigned int> m_channelToMultChanCollIndex;
116 
117 };
118 
119 
120 // INLINE FUNCTIONS
121 
122 
123 #endif // LARRAWCONDITIONS_LARCONDITIONSCONTAINERBASE_H
LArConditionsContainerBase::SuperCells
@ SuperCells
Definition: LArConditionsContainerBase.h:51
LArCondFEBIdChanMap.h
This file defines a class to map FEB IDs and channel ids.
LArConditionsContainerBase::setGroupingType
void setGroupingType(GroupingType type)
allow group type to be set externally - need to (re)initialize after setting grouping type
Definition: LArConditionsContainerBase.cxx:127
LArConditionsContainerBase::febIdVector
const FEBIdVector & febIdVector(unsigned int gain, unsigned int coolChannel) const
Access to a FEB ID vector for a given gain and COOL channel.
Definition: LArConditionsContainerBase.cxx:532
LArConditionsContainerBase::FEBIdVector
LArCondFEBIdChanMap::FEBIdVector FEBIdVector
Definition: LArConditionsContainerBase.h:54
LArConditionsContainerBase::SingleGroup
@ SingleGroup
Definition: LArConditionsContainerBase.h:46
LArConditionsContainerBase::ExtendedSubDetGrouping
@ ExtendedSubDetGrouping
Definition: LArConditionsContainerBase.h:50
LArConditionsContainerBase::SubDetectorGrouping
@ SubDetectorGrouping
Definition: LArConditionsContainerBase.h:47
index
Definition: index.py:1
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArConditionsContainerBase::initializeBase
StatusCode initializeBase()
initialize
Definition: LArConditionsContainerBase.cxx:56
LArConditionsContainerBase::initGrouping
StatusCode initGrouping()
Definition: LArConditionsContainerBase.cxx:169
HWIdentifier
Definition: HWIdentifier.h:13
LArConditionsContainerBase::correctionIndexAndCoolChannel
void correctionIndexAndCoolChannel(HWIdentifier id, unsigned int gain, unsigned int &index, unsigned int &coolChannel)
Definition: LArConditionsContainerBase.cxx:539
LArConditionsContainerBase::GroupingType
GroupingType
Grouping type.
Definition: LArConditionsContainerBase.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
master.flag
bool flag
Definition: master.py:29
LArConditionsContainerBase::m_onlineHelper
const LArOnlineID_Base * m_onlineHelper
Definition: LArConditionsContainerBase.h:109
HLT::setFlag
void setFlag(TrigPassFlags *flags, const T *obj, const CONTAINER *container, const std::vector< bool > &flag)
Set the flag at index position.
Definition: TrigPassFlags.h:121
LArConditionsContainerBase::Unknown
@ Unknown
Definition: LArConditionsContainerBase.h:45
LArConditionsContainerBase
This is a non-template implementation base class for LArConditionsContainer.
Definition: LArConditionsContainerBase.h:40
LArConditionsContainerBase::groupingTypeToString
std::string groupingTypeToString() const
Definition: LArConditionsContainerBase.cxx:496
LArConditionsContainerBase::LArConditionsContainerBase
LArConditionsContainerBase()
Default constructor.
Definition: LArConditionsContainerBase.cxx:33
LArOnlineID_Base
Helper for the Liquid Argon Calorimeter cell identifiers.
Definition: LArOnlineID_Base.h:105
LArConditionsContainerBase::m_channelToMultChanCollIndex
std::vector< unsigned int > m_channelToMultChanCollIndex
Definition: LArConditionsContainerBase.h:114
LArConditionsContainerBase::m_offlineHelper
const CaloCell_Base_ID * m_offlineHelper
Definition: LArConditionsContainerBase.h:110
LArConditionsContainerBase::ExtendedFTGrouping
@ ExtendedFTGrouping
Definition: LArConditionsContainerBase.h:49
LArConditionsContainerBase::m_isInitialized
bool m_isInitialized
Definition: LArConditionsContainerBase.h:115
LArCondFEBIdChanMap::FEBIdVector
std::vector< FEBId > FEBIdVector
Definition: LArCondFEBIdChanMap.h:54
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArCondFEBIdChanMap
This class maps FEB IDs to/from COOL channel ids.
Definition: LArCondFEBIdChanMap.h:49
LArConditionsContainerBase::m_febIdChanMap
LArCondFEBIdChanMap m_febIdChanMap
Definition: LArConditionsContainerBase.h:108
LArConditionsContainerBase::offlineHelper
const CaloCell_Base_ID * offlineHelper() const
provide access to offline id helper
Definition: LArConditionsContainerBase.cxx:525
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition: CaloCell_Base_ID.h:41
LArConditionsContainerBase::~LArConditionsContainerBase
virtual ~LArConditionsContainerBase()
destructor
Definition: LArConditionsContainerBase.cxx:50
LArConditionsContainerBase::FeedThroughGrouping
@ FeedThroughGrouping
Definition: LArConditionsContainerBase.h:48
LArConditionsContainerBase::applyCorrectionsAtInit
static bool applyCorrectionsAtInit(bool setFlag=false, bool flag=true)
provide access to flag which determines corrections are applied at initialize, i.e.
Definition: LArConditionsContainerBase.cxx:603
LArConditionsContainerBase::m_groupType
GroupingType m_groupType
Definition: LArConditionsContainerBase.h:107
LArConditionsContainerBase::onlineHelper
const LArOnlineID_Base * onlineHelper() const
provide access to online id helper
Definition: LArConditionsContainerBase.cxx:519