ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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
 
 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
 
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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

Constructor & Destructor Documentation

◆ ZDCTriggerSimData() [1/4]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/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  }

◆ ZDCTriggerSimData() [2/4]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

87  : m_doConvert(true),
88  m_convertFactors(conversionFactors),
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  }

◆ ~ZDCTriggerSimData() [1/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

95 {}

◆ ZDCTriggerSimData() [3/4]

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

Definition at line 78 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

78  :
79  m_doConvert(false), m_data(NData, 0), m_haveData(false)
80  {
81  static_assert(NData > 0, "ZDCTriggerSimData requires at least one datum");
82  static_assert(NBits > 0, "ZDCTriggerSimData requires at least 1 bit");
83  }

◆ ZDCTriggerSimData() [4/4]

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 85 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

85  :
86  m_doConvert(true), m_convertFactors(conversionFactors),
87  m_data(NData, 0), m_haveData(false)
88  {
89  static_assert(NData > 0, "ZDCTriggerSimData requires at least one datum");
90  static_assert(NBits > 0, "ZDCTriggerSimData requires at least 1 bit");
91  }

◆ ~ZDCTriggerSimData() [2/2]

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

Definition at line 93 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

93 {}

Member Function Documentation

◆ clearData() [1/2]

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

Definition at line 115 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

115  {
116  m_haveData = false;
117  }

◆ clearData() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

121 { m_haveData = false; }

◆ doConvTrunc() [1/2]

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 62 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

63  {
64  unsigned int value = inValue;
65 
66  if (m_doConvert) {
67  value = std::floor(inValue*m_convertFactors.at(0));
68  }
69 
70  unsigned int valueTruncZero = std::max(static_cast<unsigned int>( 0 ) , value);
71  unsigned int valueTruncBits = std::min(valueTruncZero, static_cast<unsigned int>((1<<NBits) - 1));
72  return valueTruncBits;
73  }

◆ doConvTrunc() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

65  {
66  unsigned int value = inValue;
67 
68  if (m_doConvert) {
69  value = std::floor(inValue * m_convertFactors.at(0));
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() [1/2]

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 119 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

120  {
121  for (auto datum : m_data) {
122  strm << doConvTrunc(datum) << " ";
123  }
124  }

◆ dump() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

123  {
124  for (auto datum : m_data) {
125  strm << doConvTrunc(datum) << " ";
126  }
127  }

◆ getNumBits() [1/2]

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 95 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

95 {return NBits;}

◆ getNumBits() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

97 { return NBits; }

◆ getNumData() [1/2]

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 96 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

96 {return NData;}

◆ getNumData() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

98 { return NData; }

◆ getType() [1/2]

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 97 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

97 {return Type;}

◆ getType() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

99 { return Type; }

◆ getValueTrunc() [1/2]

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 99 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

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

◆ getValueTrunc() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/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() [1/2]

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 110 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

110  {
111  m_data = inData;
112  m_haveData = true;
113  }

◆ setData() [2/2]

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 ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h.

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

◆ setDatum() [1/2]

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

Definition at line 104 of file Trigger/TrigT1/TrigT1ZDC/src/ZDCTriggerSim.h.

104  {
105  if (NData != 1) throw std::logic_error("ZDCTriggerSimData setDatum called with NData > 1");;
106  m_haveData = true;
107  m_data[0] = datum;
108  }

◆ setDatum() [2/2]

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

Definition at line 107 of file ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/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

◆ 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

◆ m_doConvert

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

◆ m_haveData

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

The documentation for this class was generated from the following file:
max
#define max(a, b)
Definition: cfImp.cxx:41
athena.value
value
Definition: athena.py:122
ZDCTriggerSimData::m_data
std::vector< T > m_data
Definition: ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h:62
ZDCTriggerSimData::doConvTrunc
unsigned int doConvTrunc(const T &inValue) const
Definition: ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h:65
ZDCTriggerSimData::m_haveData
bool m_haveData
Definition: ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h:63
Type
RootType Type
Definition: TrigTSerializer.h:30
min
#define min(a, b)
Definition: cfImp.cxx:40
ZDCTriggerSimData::m_convertFactors
std::vector< float > m_convertFactors
Definition: ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h:60
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
ZDCTriggerSimData::m_doConvert
bool m_doConvert
Definition: ForwardDetectors/ZDC/ZdcUtils/ZdcUtils/ZDCTriggerSim.h:59