ATLAS Offline Software
|
template class for use for I/O of conditions data More...
#include <LArConditionsSubset.h>
Classes | |
class | PairSort |
Public Types | |
typedef LArConditionsSubsetTraits< T > | Traits |
Public typedefs for FEB id and channel vector - Subset. More... | |
typedef Traits::FebId | FebId |
typedef Traits::ChannelVector | ChannelVector |
typedef Traits::ConstChannelVector | ConstChannelVector |
typedef Traits::FebPair | FebPair |
typedef Traits::FebPairReference | FebPairReference |
typedef Traits::SubsetVector | SubsetVector |
typedef SubsetVector::const_iterator | ConstSubsetIt |
typedef SubsetVector::iterator | SubsetIt |
typedef Traits::Reference | Reference |
typedef Traits::ConstReference | ConstReference |
typedef Traits::Pointer | Pointer |
typedef Traits::ConstPointer | ConstPointer |
typedef T | Payload |
Public typedefs for channel id and T vector - CorrectionSet. More... | |
typedef unsigned int | ChannelId |
typedef std::pair< ChannelId, T > | CorrectionPair |
typedef std::vector< CorrectionPair > | CorrectionVec |
typedef CorrectionVec::const_iterator | ConstCorrectionVecIt |
typedef CorrectionVec::iterator | CorrectionVecIt |
typedef CorrectionVec::size_type | size_type |
Public Member Functions | |
LArConditionsSubset () | |
Default constructor. More... | |
LArConditionsSubset (unsigned int gain) | |
Constructor for corrections - only need gain. More... | |
LArConditionsSubset (const std::vector< FebId > &ids, unsigned int gain) | |
Constructor with initializing set of FEB ids. More... | |
template<class U , class COPIER > | |
void | assign (const LArConditionsSubset< U > &other, COPIER copier) |
Copy from another subset object. More... | |
virtual | ~LArConditionsSubset () |
destructor More... | |
ConstSubsetIt | findChannelVector (FebId febId) const |
Access to a channel vector of a given FEB. More... | |
SubsetIt | findChannelVector (FebId febId) |
Access to a channel vector of a given FEB. More... | |
ConstSubsetIt | subsetBegin () const |
Iterators over subset. More... | |
ConstSubsetIt | subsetEnd () const |
SubsetIt | subsetBegin () |
SubsetIt | subsetEnd () |
size_type | subsetSize () const |
Size of subset. More... | |
ConstCorrectionVecIt | findConditionsObj (ChannelId id) const |
Access to a conditions object for a given channel id - searches channel set ONLY. More... | |
ConstCorrectionVecIt | correctionVecBegin () const |
Iterators over channel set. More... | |
ConstCorrectionVecIt | correctionVecEnd () const |
size_type | correctionVecSize () const |
Size of channel set. More... | |
unsigned int | gain () const |
Access to gain. More... | |
unsigned int | channel () const |
Access to the COOL channel number. More... | |
unsigned int | groupingType () const |
Type of grouping - defined in LArConditionsContainerBase.h. More... | |
unsigned int | nConditions () const |
Number of conditions objects in this subset. More... | |
void | initialize (const std::vector< FebId > &ids, unsigned int gain) |
Initialize with set of FEB ids. More... | |
void | shrink_to_fit () |
Reallocate to match size actually used. More... | |
void | setGain (unsigned int gain) |
set gain More... | |
void | setChannel (unsigned int channel) |
set the COOL channel number More... | |
void | setGroupingType (unsigned int type) |
set the type of grouping - defined in LArConditionsContainerBase.h More... | |
void | insertCorrection (ChannelId id, const T &cond) |
Insert a new channel id / T pair correction. More... | |
void | insertCorrections (CorrectionVec &&corrs) |
Insert a group of corrections. More... | |
unsigned | channelVectorSize () const |
void | fillMap () |
Fill map from vector. More... | |
Private Types | |
typedef std::map< FebId, unsigned int > | SubsetMap |
Private Attributes | |
SubsetMap | m_subsetMap |
SubsetVector | m_subset |
unsigned int | m_gain |
unsigned int | m_channel |
unsigned int | m_groupingType |
CorrectionVec | m_correctionVec |
template class for use for I/O of conditions data
This class contains conditions objects of type T. There are two ways that conditions objects may be stored:
1) as a vector of FEB ID, vector<T> pairs where T is the conditions data for each channel in a FEB of a particular ID. 2) as a vector of Channel ID, T pairs, where T is the conditions data for a particular channel id
The first way is labelled "subset" and is how the bulk of conditions data is stored. It is efficient in access and storage. The second way is labelled "channel set" and is used for storing a correction set for individual channels.
LArConditionsContainer uses this class to store conditions in different groupings where each group is a different LArConditionsSubset. And as well, the "correction set" is another LArConditionsSubset.
For some types of payload, we want to allow for alternate storage layouts, to save memory. This is allowed by the LArConditionsSubsetTraits class; using this, one can substitute alternate classes for the types contained in the subset. (This is used for LArShapeP2/LArOFCP1, to collect all the data together to reduce overhead; the contained types then become proxies that access that data.)
Definition at line 121 of file LArConditionsSubset.h.
typedef unsigned int LArConditionsSubset< T >::ChannelId |
Definition at line 142 of file LArConditionsSubset.h.
typedef Traits::ChannelVector LArConditionsSubset< T >::ChannelVector |
Definition at line 128 of file LArConditionsSubset.h.
typedef Traits::ConstChannelVector LArConditionsSubset< T >::ConstChannelVector |
Definition at line 129 of file LArConditionsSubset.h.
typedef CorrectionVec::const_iterator LArConditionsSubset< T >::ConstCorrectionVecIt |
Definition at line 145 of file LArConditionsSubset.h.
typedef Traits::ConstPointer LArConditionsSubset< T >::ConstPointer |
Definition at line 138 of file LArConditionsSubset.h.
typedef Traits::ConstReference LArConditionsSubset< T >::ConstReference |
Definition at line 136 of file LArConditionsSubset.h.
typedef SubsetVector::const_iterator LArConditionsSubset< T >::ConstSubsetIt |
Definition at line 133 of file LArConditionsSubset.h.
typedef std::pair<ChannelId, T> LArConditionsSubset< T >::CorrectionPair |
Definition at line 143 of file LArConditionsSubset.h.
typedef std::vector<CorrectionPair> LArConditionsSubset< T >::CorrectionVec |
Definition at line 144 of file LArConditionsSubset.h.
typedef CorrectionVec::iterator LArConditionsSubset< T >::CorrectionVecIt |
Definition at line 146 of file LArConditionsSubset.h.
typedef Traits::FebId LArConditionsSubset< T >::FebId |
Definition at line 127 of file LArConditionsSubset.h.
typedef Traits::FebPair LArConditionsSubset< T >::FebPair |
Definition at line 130 of file LArConditionsSubset.h.
typedef Traits::FebPairReference LArConditionsSubset< T >::FebPairReference |
Definition at line 131 of file LArConditionsSubset.h.
typedef T LArConditionsSubset< T >::Payload |
Public typedefs for channel id and T vector - CorrectionSet.
Definition at line 141 of file LArConditionsSubset.h.
typedef Traits::Pointer LArConditionsSubset< T >::Pointer |
Definition at line 137 of file LArConditionsSubset.h.
typedef Traits::Reference LArConditionsSubset< T >::Reference |
Definition at line 135 of file LArConditionsSubset.h.
typedef CorrectionVec::size_type LArConditionsSubset< T >::size_type |
Definition at line 147 of file LArConditionsSubset.h.
typedef SubsetVector::iterator LArConditionsSubset< T >::SubsetIt |
Definition at line 134 of file LArConditionsSubset.h.
|
private |
Definition at line 255 of file LArConditionsSubset.h.
typedef Traits::SubsetVector LArConditionsSubset< T >::SubsetVector |
Definition at line 132 of file LArConditionsSubset.h.
typedef LArConditionsSubsetTraits<T> LArConditionsSubset< T >::Traits |
Public typedefs for FEB id and channel vector - Subset.
Definition at line 126 of file LArConditionsSubset.h.
|
inline |
Default constructor.
Definition at line 292 of file LArConditionsSubset.h.
|
inline |
Constructor for corrections - only need gain.
Definition at line 301 of file LArConditionsSubset.h.
|
inline |
|
inlinevirtual |
void LArConditionsSubset< T >::assign | ( | const LArConditionsSubset< U > & | other, |
COPIER | copier | ||
) |
Copy from another subset object.
COPIER is a functional to copy the payload, with signature (const T&, T*)
Definition at line 339 of file LArConditionsSubset.h.
|
inline |
Access to the COOL channel number.
Definition at line 498 of file LArConditionsSubset.h.
|
inline |
Definition at line 608 of file LArConditionsSubset.h.
LArConditionsSubset< T >::ConstCorrectionVecIt LArConditionsSubset< T >::correctionVecBegin |
Iterators over channel set.
Definition at line 465 of file LArConditionsSubset.h.
LArConditionsSubset< T >::ConstCorrectionVecIt LArConditionsSubset< T >::correctionVecEnd |
Definition at line 472 of file LArConditionsSubset.h.
LArConditionsSubset< T >::size_type LArConditionsSubset< T >::correctionVecSize |
Size of channel set.
Definition at line 481 of file LArConditionsSubset.h.
|
inline |
|
inline |
|
inline |
LArConditionsSubset< T >::ConstCorrectionVecIt LArConditionsSubset< T >::findConditionsObj | ( | ChannelId | id | ) | const |
Access to a conditions object for a given channel id - searches channel set ONLY.
Definition at line 451 of file LArConditionsSubset.h.
|
inline |
Access to gain.
Definition at line 490 of file LArConditionsSubset.h.
|
inline |
Type of grouping - defined in LArConditionsContainerBase.h.
Definition at line 507 of file LArConditionsSubset.h.
|
inline |
|
inline |
Insert a new channel id / T pair correction.
If new channel id is the same as an existing one, the new T replaces the old T
Definition at line 583 of file LArConditionsSubset.h.
|
inline |
Insert a group of corrections.
They must be properly sorted.
Definition at line 593 of file LArConditionsSubset.h.
|
inline |
|
inline |
set the COOL channel number
Definition at line 567 of file LArConditionsSubset.h.
|
inline |
|
inline |
set the type of grouping - defined in LArConditionsContainerBase.h
Definition at line 575 of file LArConditionsSubset.h.
|
inline |
Reallocate to match size actually used.
Definition at line 550 of file LArConditionsSubset.h.
|
inline |
Definition at line 428 of file LArConditionsSubset.h.
|
inline |
Iterators over subset.
Definition at line 412 of file LArConditionsSubset.h.
|
inline |
Definition at line 436 of file LArConditionsSubset.h.
|
inline |
Definition at line 420 of file LArConditionsSubset.h.
|
inline |
Size of subset.
Definition at line 444 of file LArConditionsSubset.h.
|
private |
Definition at line 260 of file LArConditionsSubset.h.
|
private |
Definition at line 262 of file LArConditionsSubset.h.
|
private |
Definition at line 259 of file LArConditionsSubset.h.
|
private |
Definition at line 261 of file LArConditionsSubset.h.
|
private |
Definition at line 258 of file LArConditionsSubset.h.
|
private |
Definition at line 257 of file LArConditionsSubset.h.