20#ifndef LARRAWCONDITIONS_LARCONDITIONSCONTAINER_H
21#define LARRAWCONDITIONS_LARCONDITIONSCONTAINER_H
88 typedef typename std::map<unsigned int, ConditionsMap >
GainMap;
89 typedef typename std::pair<unsigned int, ConditionsMap >
GainPair;
114 unsigned int gain=0 );
118 unsigned int gain=0)
const;
122 unsigned int gain=0);
126 unsigned int gain=0)
const;
201 ConstCorrectionIt findCorrection (HWIdentifier channelId,
202 unsigned int gain) const;
203 ConstCorrectionIt findCorrectionEnd() const;
206 void correctionIndexes(unsigned int gain,
207 std::vector<unsigned int>& indexes) const;
211 ConstCorrectionIt correctionsBegin(unsigned int index) const;
212 ConstCorrectionIt correctionsEnd (unsigned int index) const;
215 size_type correctionsSize(unsigned int gain) const;
220 void removeCorrections();
229 bool corrChannel =
true);
242 const std::vector<FebId>& febIds)
const ;
244 const std::vector<FebId>& febIds);
306 return (
x->channel() <
y->channel());
313 typedef typename std::vector<ConstPointer>
TVector;
315 typedef typename std::map<unsigned int, TVector>
TVectorMap ;
This file defines the template class used to register the tokens of T* in a COOL multchannel folder.
This file contain an implementation base class for LArConditionsContainer.
This file defines the template class used for I/O of conditions data.
IOVVec::const_iterator iov_const_iterator
ChanVec::size_type chan_size_type
ChanVec::const_iterator chan_const_iterator
IOVVec::size_type iov_size_type
DataModel_detail::const_iterator< DataVector > const_iterator
DataModel_detail::iterator< DataVector > iterator
LArConditionsContainerBase()
Default constructor.
LArConditionsContainerDB template class Author: Walter Lampl Initial Version: April,...
iteratorT< ConditionsMapIterator, ChannelIt, Pointer, Reference > iterator
iteratorT< ConstConditionsMapIterator, ConstChannelIt, ConstPointer, ConstReference > const_iterator
bool operator()(const LArConditionsSubset< T > *x, const LArConditionsSubset< T > *y)
MultChanCollection::iov_size_type iov_size_type
bool merge(const LArConditionsContainer< T > &other)
void removeConditions()
Remove conditions leaving the corrections - may be needed to only write out the corrections when both...
StatusCode insertCorrection(HWIdentifier id, const T &cond, unsigned int gain, bool corrChannel=true)
access to corrections -
bool correctionsApplied() const
Have corrections been applied?
void setPdata(const HWIdentifier id, const T &payload, unsigned int gain=0)
put payload in persistent data
unsigned int coolChannel(const HWIdentifier id, unsigned int gain=0) const
Return the COOL channel number for a given online id and gain.
ConstConditionsMapIterator begin(unsigned int gain, const std::vector< FebId > &febIds) const
get iterator for all channels for a gain, restricted to a list of FebIds
TVector::const_iterator TVectorIterator
LArConditionsSubset< LArAutoCorr > Subset
ConditionsMap::const_iterator ConstConditionsMapIterator
iov_const_iterator iov_begin() const
Access to IOVs via iterators - from MultChanCollection.
Subset::ConstCorrectionVecIt ConstCorrectionVecIt
unsigned int nGroups() const
Number of groups - minimum is 2 (1 correction group, 1 FEB ID group)
std::pair< unsigned int, ConditionsMap > GainPair
Reference get(const HWIdentifier id, unsigned int gain=0)
non-const get data with online identifier
Subset::ConstPointer ConstPointer
StatusCode applyCorrections()
apply correction set
StatusCode undoCorrections()
undo corrections that have been already applied
virtual StatusCode initialize()
Initialization done after creation or read back - derived classes may augment the functionality.
void removeConditionsChannel(unsigned int coolChannel)
Remove the conditions for a specific cool channel - e.g.
virtual ~LArConditionsContainer()
destructor
chan_const_iterator chan_begin() const
Access to Channel numbers via iterators - from MultChanCollection.
bool m_correctionsApplied
iov_const_iterator iov_end() const
ConstCorrectionIt undoCorrBegin(unsigned int gain) const
get iterator over the Undo-Vector for a certain gain
CondMultChanCollection< Subset > MultChanCollection
ConstCorrectionIt undoCorrEnd(unsigned int gain) const
ConstCorrectionIt m_dummyCorrIt
ConstReference get(const HWIdentifier id, unsigned int gain=0) const
get data with online identifier
GainMap::iterator GainMapIterator
unsigned int conditionsPerGain(unsigned int gain) const
Statistics: number of conditions per gain.
ConditionsMapIterator begin(unsigned int gain, const std::vector< FebId > &febIds)
unsigned int conditionsPerChannel(unsigned int coolChannel) const
Statistics: number of conditions per COOL channel.
std::map< unsigned int, ConditionsMap > GainMap
SubsetDV::const_iterator const_iterator
Subset::ConstReference ConstReference
unsigned int groupNumber(unsigned int coolChannel) const
Return the group number of a COOL channel (0 - correction group, 1-N for FEB ID groups)
std::vector< CorrectionVector > CorrectionVectors
ConstConditionsMapIterator begin(unsigned int gain) const
get iterator for all channels for a gain
CorrectionVectors m_correctionsUndo
DataVector< Subset > SubsetDV
chan_size_type chan_size() const
number of channels - from MultChanCollection
Subset::CorrectionPair CorrectionPair
Subset::FebPairReference FebPairReference
Subset::ChannelVector ChannelVector
std::map< unsigned int, TVector > TVectorMap
ConditionsMapIterator begin(unsigned int gain, const HWIdentifier &febId)
ConstReference empty() const
Access to standard empty value.
GainMap::const_iterator ConstGainMapIterator
Subset::Reference Reference
ConstConditionsMapIterator end(unsigned int gain) const
end of all channels for this gain
void sortSubsets()
Sort subsets by channel number.
unsigned int conditionsPerGroup(unsigned int group) const
Statistics: number of conditions per group.
iov_size_type iov_size() const
number of IOVs - from MultChanCollection
Subset::ConstCorrectionVecIt ConstCorrectionIt
LArConditionsSubset< LArAutoCorr >::Traits Traits
MultChanCollection::chan_const_iterator chan_const_iterator
StatusCode updateConditionsMap(FebId id, unsigned int gain, ConditionsMap &conditionsMap)
Update the ConditionsMap for a new FEB ID.
MultChanCollection::iov_const_iterator iov_const_iterator
LArConditionsContainer()
default constructor
Subset::size_type size_type
unsigned int totalNumberOfCorrections() const
Statistics: total number of corrections.
std::string groupingTypeToString() const
Type of grouping - defined in LArConditionContainerBase.h.
std::vector< ConstPointer > TVector
ConstConditionsMapIterator begin(unsigned int gain, const HWIdentifier &febId) const
get iterator for all channels for a gain, restricted to one Feb
unsigned int totalNumberOfConditions() const
Statistics: total number of conditions.
LArConditionsContainerDB< LArAutoCorr > ConditionsMap
TVectorMap::const_iterator TVectorMapIterator
SubsetDV::iterator iterator
chan_const_iterator chan_end() const
LArConditionsContainer(GroupingType type)
constructor defining grouping type
Subset::CorrectionVec CorrectionVector
MultChanCollection::chan_size_type chan_size_type
ConditionsMapIterator begin(unsigned int gain)
ConditionsMap::iterator ConditionsMapIterator
unsigned int minGain() const
Mininum gain value.
unsigned int nGains() const
Number of gain values.
CorrectionVector m_emptyCorrectionVec
unsigned int groupingType() const
Type of grouping - defined in LArConditionContainerBase.h.
ChannelVector::const_iterator ChannelVectorIterator
ConditionsMapIterator end(unsigned int gain)
std::vector< unsigned > completeCorrectionChannels()
Fill all non-existing Correction Channels with emtpy subsets This is necessary to terminate the IOV o...
template class for use for I/O of conditions data
CorrectionVec::const_iterator ConstCorrectionVecIt
std::pair< ChannelId, T > CorrectionPair
Traits::ConstReference ConstReference
Traits::FebPairReference FebPairReference
LArConditionsSubsetTraits< T > Traits
Public typedefs for FEB id and channel vector - Subset.
std::vector< CorrectionPair > CorrectionVec
Traits::ConstPointer ConstPointer
Traits::Reference Reference
Traits::ChannelVector ChannelVector
CorrectionVec::size_type size_type