![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef ZDCTRIGVALID__ZDCTriggerSim__h
12 #define ZDCTRIGVALID__ZDCTriggerSim__h
20 #include <type_traits>
26 const std::vector<std::string>
TypeStrings = {
"CombLUTOutput",
"CombLUTInput",
27 "SideLUTsInput",
"ModAmplsInput"};
43 virtual void dump(std::ostream& strm)
const = 0;
56 template <
typename T,
unsigned int NData,
unsigned int NBits,
66 unsigned int value = inValue;
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;
82 static_assert(NData > 0,
"ZDCTriggerSimData requires at least one datum");
83 static_assert(NBits > 0,
"ZDCTriggerSimData requires at least 1 bit");
91 static_assert(NData > 0,
"ZDCTriggerSimData requires at least one datum");
92 static_assert(NBits > 0,
"ZDCTriggerSimData requires at least 1 bit");
97 unsigned int getNumBits()
const override {
return NBits; }
98 unsigned int getNumData()
const override {
return NData; }
103 throw std::logic_error(
"No data available for ZDCTriggerSimData");
109 throw std::logic_error(
110 "ZDCTriggerSimData setDatum called with NData > 1");
123 virtual void dump(std::ostream& strm)
const override {
124 for (
auto datum :
m_data) {
174 typedef std::list<ZDCTriggerSim::SimDataCPtr>
SimStack;
182 m_stack.push_back(SimStack::value_type(ptr));
204 void dump(std::ostream& strm)
const;
247 const std::array<unsigned int, 4096>& sideCLUT,
248 const std::array<unsigned int, 256>& inCombLUT)
274 const std::array<unsigned int, 4096>& sideCLUT,
275 const std::array<unsigned int, 256>& inCombLUT)
virtual void doSimStage() override
char data[hepevt_bytes_allocation_ATLAS]
virtual unsigned int getNumData() const =0
virtual ZDCTriggerSim::DataType getType() const override
virtual unsigned int simLevel1Trig(const ZDCTriggerSim::SimDataCPtr &data)=0
unsigned int getNumData() const override
virtual unsigned int simLevel1Trig(const ZDCTriggerSim::SimDataCPtr &inputData) override
virtual unsigned int getValueTrunc(unsigned int idx=0) const =0
virtual unsigned int getValueTrunc(unsigned int idx=0) const override
ZDCTriggerSimData< float, 8, 12, TModAmplsInput > ModuleAmplInputsFloat
ZDCTriggerSimData(const std::vector< float > &conversionFactors)
ZDCTriggerSimData< float, 2, 12, TSideLUTsInput > SideLUTInputsFloat
virtual void doSimStage() override
unsigned int doConvTrunc(const T &inValue) const
virtual unsigned int simLevel1Trig(const ZDCTriggerSim::SimDataCPtr &inputData) override
const std::vector< std::string > TypeStrings
virtual ~ZDCTriggerSimBase()=default
unsigned int getNumBits() const override
std::list< ZDCTriggerSim::SimDataCPtr > SimStack
virtual void dump(std::ostream &strm) const override
const ZDCTriggerSim::SimDataCPtr & stackTopData() const
virtual ZDCTriggerSim::DataType getType() const =0
virtual void dump(std::ostream &strm) const =0
virtual unsigned int simLevel1Trig(const ZDCTriggerSim::SimDataCPtr &inputBits) override
ZDCTriggerSimCombLUT(const std::array< unsigned int, 256 > &inLUT)
virtual ~ZDCTriggerSimData() override
ZDCTriggerSimData< unsigned int, 2, 4, TCombLUTInput > CombLUTInputsInt
std::shared_ptr< const ZDCTriggerSimDataBase > SimDataCPtr
std::shared_ptr< ZDCTriggerSimDataBase > SimDataPtr
virtual ~ZDCTriggerSimDataBase()=default
virtual void doSimStage() override
void stackPush(const ZDCTriggerSim::SimDataCPtr &ptr)
virtual void doSimStage()=0
std::array< unsigned int, 4096 > m_LUTC
std::array< unsigned int, 256 > m_combLUT
ZDCTriggerSimModuleAmpls(const std::array< unsigned int, 4096 > &sideALUT, const std::array< unsigned int, 4096 > &sideCLUT, const std::array< unsigned int, 256 > &inCombLUT)
ZDCTriggerSimData< unsigned int, 2, 12, TSideLUTsInput > SideLUTInputsInt
std::vector< float > m_convertFactors
ZDCTriggerSimData< unsigned int, 1, 3, TCombLUTOutput > CombLUTOutput
ZDCTriggerSimBase()=default
void dump(std::ostream &strm) const
void setData(const std::vector< T > &inData)
ZDCTriggerSimData< unsigned int, 8, 12, TModAmplsInput > ModuleAmplInputsInt
std::array< unsigned int, 4096 > m_LUTA
virtual unsigned int getNumBits() const =0
ZDCTriggerSimAllLUTs(const std::array< unsigned int, 4096 > &sideALUT, const std::array< unsigned int, 4096 > &sideCLUT, const std::array< unsigned int, 256 > &inCombLUT)