ATLAS Offline Software
Loading...
Searching...
No Matches
ZDCTriggerSimData< T, NData, NBits, Type > Class Template Reference

#include <ZDCTriggerSim.h>

Inheritance diagram for ZDCTriggerSimData< T, NData, NBits, Type >:
Collaboration diagram for ZDCTriggerSimData< T, NData, NBits, Type >:

Public Member Functions

 ZDCTriggerSimData ()
 ZDCTriggerSimData (const std::vector< float > &conversionFactors)
virtual ~ZDCTriggerSimData () override
unsigned int getNumBits () const override
unsigned int getNumData () const override
virtual ZDCTriggerSim::DataType getType () const override
virtual unsigned int getValueTrunc (unsigned int idx=0) const override
void setDatum (T datum)
void setData (const std::vector< T > &inData)
void clearData ()
virtual void dump (std::ostream &strm) const override

Private Member Functions

unsigned int doConvTrunc (const T &inValue) const

Private Attributes

bool m_doConvert {}
std::vector< float > m_convertFactors
std::vector< T > m_data
bool m_haveData {}

Detailed Description

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
class ZDCTriggerSimData< T, NData, NBits, Type >

Definition at line 58 of file ZDCTriggerSim.h.

Constructor & Destructor Documentation

◆ ZDCTriggerSimData() [1/2]

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
ZDCTriggerSimData< T, NData, NBits, Type >::ZDCTriggerSimData ( )
inline

Definition at line 80 of file ZDCTriggerSim.h.

81 : m_doConvert(false), m_data(NData, 0), m_haveData(false) {
82 static_assert(NData > 0, "ZDCTriggerSimData requires at least one datum");
83 static_assert(NBits > 0, "ZDCTriggerSimData requires at least 1 bit");
84 }
std::vector< T > m_data

◆ ZDCTriggerSimData() [2/2]

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
ZDCTriggerSimData< T, NData, NBits, Type >::ZDCTriggerSimData ( const std::vector< float > & conversionFactors)
inline

Definition at line 86 of file ZDCTriggerSim.h.

87 : m_doConvert(true),
89 m_data(NData, 0),
90 m_haveData(false) {
91 static_assert(NData > 0, "ZDCTriggerSimData requires at least one datum");
92 static_assert(NBits > 0, "ZDCTriggerSimData requires at least 1 bit");
93 }
std::vector< float > m_convertFactors

◆ ~ZDCTriggerSimData()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
virtual ZDCTriggerSimData< T, NData, NBits, Type >::~ZDCTriggerSimData ( )
inlineoverridevirtual

Definition at line 95 of file ZDCTriggerSim.h.

95{}

Member Function Documentation

◆ clearData()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
void ZDCTriggerSimData< T, NData, NBits, Type >::clearData ( )
inline

Definition at line 121 of file ZDCTriggerSim.h.

121{ m_haveData = false; }

◆ doConvTrunc()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
unsigned int ZDCTriggerSimData< T, NData, NBits, Type >::doConvTrunc ( const T & inValue) const
inlineprivate

Definition at line 65 of file ZDCTriggerSim.h.

65 {
66 unsigned int value = inValue;
67
68 if (m_doConvert) {
70 }
71
72 unsigned int valueTruncZero = std::max(static_cast<unsigned int>(0), value);
73 unsigned int valueTruncBits =
74 std::min(valueTruncZero, static_cast<unsigned int>((1 << NBits) - 1));
75 return valueTruncBits;
76 }

◆ dump()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
virtual void ZDCTriggerSimData< T, NData, NBits, Type >::dump ( std::ostream & strm) const
inlineoverridevirtual

Implements ZDCTriggerSimDataBase.

Definition at line 123 of file ZDCTriggerSim.h.

123 {
124 strm << "Data for Type: " << Type << ": ";
125 for (auto datum : m_data) {
126 strm << doConvTrunc(datum) << " ";
127 }
128 strm << std::endl;
129 }
unsigned int doConvTrunc(const T &inValue) const

◆ getNumBits()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
unsigned int ZDCTriggerSimData< T, NData, NBits, Type >::getNumBits ( ) const
inlineoverridevirtual

Implements ZDCTriggerSimDataBase.

Definition at line 97 of file ZDCTriggerSim.h.

97{ return NBits; }

◆ getNumData()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
unsigned int ZDCTriggerSimData< T, NData, NBits, Type >::getNumData ( ) const
inlineoverridevirtual

Implements ZDCTriggerSimDataBase.

Definition at line 98 of file ZDCTriggerSim.h.

98{ return NData; }

◆ getType()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
virtual ZDCTriggerSim::DataType ZDCTriggerSimData< T, NData, NBits, Type >::getType ( ) const
inlineoverridevirtual

Implements ZDCTriggerSimDataBase.

Definition at line 99 of file ZDCTriggerSim.h.

99{ return Type; }

◆ getValueTrunc()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
virtual unsigned int ZDCTriggerSimData< T, NData, NBits, Type >::getValueTrunc ( unsigned int idx = 0) const
inlineoverridevirtual

Implements ZDCTriggerSimDataBase.

Definition at line 101 of file ZDCTriggerSim.h.

101 {
102 if (!m_haveData)
103 throw std::logic_error("No data available for ZDCTriggerSimData");
104 return doConvTrunc(m_data.at(idx));
105 }

◆ setData()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
void ZDCTriggerSimData< T, NData, NBits, Type >::setData ( const std::vector< T > & inData)
inline

Definition at line 116 of file ZDCTriggerSim.h.

116 {
117 m_data = inData;
118 m_haveData = true;
119 }

◆ setDatum()

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
void ZDCTriggerSimData< T, NData, NBits, Type >::setDatum ( T datum)
inline

Definition at line 107 of file ZDCTriggerSim.h.

107 {
108 if (NData != 1)
109 throw std::logic_error(
110 "ZDCTriggerSimData setDatum called with NData > 1");
111 ;
112 m_haveData = true;
113 m_data[0] = datum;
114 }

Member Data Documentation

◆ m_convertFactors

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
std::vector<float> ZDCTriggerSimData< T, NData, NBits, Type >::m_convertFactors
private

Definition at line 60 of file ZDCTriggerSim.h.

◆ m_data

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
std::vector<T> ZDCTriggerSimData< T, NData, NBits, Type >::m_data
private

Definition at line 62 of file ZDCTriggerSim.h.

◆ m_doConvert

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
bool ZDCTriggerSimData< T, NData, NBits, Type >::m_doConvert {}
private

Definition at line 59 of file ZDCTriggerSim.h.

59{};

◆ m_haveData

template<typename T, unsigned int NData, unsigned int NBits, ZDCTriggerSim::DataType Type>
bool ZDCTriggerSimData< T, NData, NBits, Type >::m_haveData {}
private

Definition at line 63 of file ZDCTriggerSim.h.

63{};

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