ATLAS Offline Software
Loading...
Searching...
No Matches
LArConditionsSubsetTraits< T > Class Template Reference

Traits class giving the types to use for the objects contained within the subset. More...

#include <LArConditionsSubset.h>

Collaboration diagram for LArConditionsSubsetTraits< T >:

Public Types

typedef unsigned int FebId
typedef T & Reference
typedef const T & ConstReference
typedef T * Pointer
typedef const T * ConstPointer
typedef std::vector< T > ChannelVector
typedef const std::vector< T > ConstChannelVector
typedef ChannelVectorChannelVectorPointer
typedef std::pair< FebId, ChannelVectorFebPair
typedef FebPairFebPairReference
typedef std::vector< FebPairSubsetVector

Static Public Member Functions

static const T & empty ()
template<class OTHERIT, class COPIER>
static void copySubset (OTHERIT otherBeg, OTHERIT otherEnd, SubsetVector &to, COPIER copier)
 Helper used by LArConditionsSubset::assign.

Detailed Description

template<class T>
class LArConditionsSubsetTraits< T >

Traits class giving the types to use for the objects contained within the subset.

This is the default traits class; this declares that we store directly a vector<pair<FebId, vector<T> > >.

Definition at line 64 of file LArConditionsSubset.h.

Member Typedef Documentation

◆ ChannelVector

template<class T>
typedef std::vector<T> LArConditionsSubsetTraits< T >::ChannelVector

Definition at line 73 of file LArConditionsSubset.h.

◆ ChannelVectorPointer

template<class T>
typedef ChannelVector* LArConditionsSubsetTraits< T >::ChannelVectorPointer

Definition at line 75 of file LArConditionsSubset.h.

◆ ConstChannelVector

template<class T>
typedef const std::vector<T> LArConditionsSubsetTraits< T >::ConstChannelVector

Definition at line 74 of file LArConditionsSubset.h.

◆ ConstPointer

template<class T>
typedef const T* LArConditionsSubsetTraits< T >::ConstPointer

Definition at line 72 of file LArConditionsSubset.h.

◆ ConstReference

template<class T>
typedef const T& LArConditionsSubsetTraits< T >::ConstReference

Definition at line 70 of file LArConditionsSubset.h.

◆ FebId

template<class T>
typedef unsigned int LArConditionsSubsetTraits< T >::FebId

Definition at line 67 of file LArConditionsSubset.h.

◆ FebPair

template<class T>
typedef std::pair<FebId, ChannelVector> LArConditionsSubsetTraits< T >::FebPair

Definition at line 76 of file LArConditionsSubset.h.

◆ FebPairReference

template<class T>
typedef FebPair& LArConditionsSubsetTraits< T >::FebPairReference

Definition at line 77 of file LArConditionsSubset.h.

◆ Pointer

template<class T>
typedef T* LArConditionsSubsetTraits< T >::Pointer

Definition at line 71 of file LArConditionsSubset.h.

◆ Reference

template<class T>
typedef T& LArConditionsSubsetTraits< T >::Reference

Definition at line 69 of file LArConditionsSubset.h.

◆ SubsetVector

template<class T>
typedef std::vector<FebPair> LArConditionsSubsetTraits< T >::SubsetVector

Definition at line 78 of file LArConditionsSubset.h.

Member Function Documentation

◆ copySubset()

template<class T>
template<class OTHERIT, class COPIER>
void LArConditionsSubsetTraits< T >::copySubset ( OTHERIT otherBeg,
OTHERIT otherEnd,
SubsetVector & to,
COPIER copier )
static

Helper used by LArConditionsSubset::assign.

Parameters
otherBegStart of the range to copy.
otherEndEnd of the range to copy.
toThe subset to which to copy.
copierHelper to copy a single payload object.

Definition at line 104 of file LArConditionsSubset.h.

108{
109 to.reserve (std::distance (otherBeg, otherEnd));
110 for (; otherBeg != otherEnd; ++otherBeg) {
111 ChannelVector v (otherBeg->second.size());
112 for (size_t i = 0; i < otherBeg->second.size(); i++) {
113 copier (otherBeg->second[i], v[i]);
114 }
115 to.emplace_back (otherBeg->first, std::move (v));
116 }
117}
Traits class giving the types to use for the objects contained within the subset.

◆ empty()

template<class T>
const T & LArConditionsSubsetTraits< T >::empty ( )
inlinestatic

Definition at line 80 of file LArConditionsSubset.h.

81 {
82 static const T dum {};
83 return dum;
84 }

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