12#include <framework/dataobjects/EventMetaData.h>
13#include <mdst/dataobjects/TRGSummary.h>
14#include <trg/gdl/TrgBitInput.h>
15#include <trg/gdl/TrgBitOutput.h>
17const int N_INPUT_ARRAY = 5;
18const int N_OUTPUT_ARRAY = 5;
19const int N_PSNM_ARRAY = 10;
20const int N_BITS_RESERVED = 200;
53 void set(
unsigned pattern,
unsigned wordPosition);
56 bool isFired(
unsigned bit)
const;
85 void set(
unsigned pattern,
unsigned wordPosition);
88 bool isFired(
unsigned bit)
const;
113 unsigned nconf_input;
126 std::string
version(
void)
const;
138 bool isFired(output bitname)
const;
140 bool isFired(
const char* bitname)
const;
142 bool isFired(input bitname)
const;
143 bool isFiredInput(
unsigned ith_bit)
const;
144 bool isFiredInput(input bitname)
const;
145 bool isFiredInput(
const char* bitname)
const;
146 bool isFiredFtdl(
unsigned ith_bit)
const;
147 bool isFiredFtdl(output bitname)
const;
148 bool isFiredFtdl(
const char* bitname)
const;
149 bool isFiredPsnm(
unsigned ith_bit)
const;
150 bool isFiredPsnm(output bitname)
const;
151 bool isFiredPsnm(
const char* bitname)
const;
155 unsigned getNumOfOutputs(
void) {
return n_output;}
163 unsigned getInputBitNum(input a) {
return _inputMap[nconf_input][a];}
168 int getBitNum(
const char* bitname)
const;
174 bool isUsed(input a)
const;
175 bool isUsed(output a)
const;
176 bool isUsed(
const char* bitname)
const;
180 const char* getOutputBitName(
unsigned ith_bit)
const;
187 std::vector<unsigned> getFtdlVector(
void) {
return _ftdVector;}
188 std::vector<unsigned> getPsnmVector(
void) {
return _psnVector;}
199 void mapNumber(
unsigned exp,
unsigned run);
203 static const std::string _ftdlVersion[2];
204 static const unsigned _inputMap[N_INPUT_ARRAY][N_BITS_RESERVED];
205 static const unsigned _outputMap[N_OUTPUT_ARRAY][N_BITS_RESERVED];
206 static const unsigned _psnmValues[N_PSNM_ARRAY][N_BITS_RESERVED];
207 static const char* _inputBitNames[N_BITS_RESERVED];
208 static const char* _outputBitNames[N_BITS_RESERVED];
212 InputBitPattern _input;
213 OutputBitPattern _ftdl;
214 OutputBitPattern _psnm;
218 std::vector<unsigned> _ftdVector;
219 std::vector<unsigned> _psnVector;
ETimingType
types of trigger timing source defined in b2tt firmware
Output bit pattern class.
int operator[](unsigned)
Bit.
int operator==(OutputBitPattern &)
Comparison.
bool isFired(unsigned bit) const
get fired or not
OutputBitPattern()
Constructor.
unsigned _pattern[6]
hit pattern
virtual ~OutputBitPattern()
Destructor.
void set(unsigned pattern, unsigned wordPosition)
reads/sets a bit.
A general interface to get a trigger response.
const char * getInputBitName(unsigned ith_bit) const
returns bit name
std::vector< unsigned > _itdVector
hit information in vector
std::vector< unsigned > getInputVector(void)
return hit information in vector
bool isFired(output bitname) const
returns true if the psnm bit is fired.
bool isFiredFilled(void)
Whether hit information is available or not.
bool isUsed(input a) const
Whether the bit exists for the run.
std::string version(void) const
returns TrgBit version;
unsigned getNumOfInputs(void)
return number of used bits
std::string versionFTDL(void) const
returns FTDL version;
int getBitNum(const char *bitname) const
returns bit number for the exprun, if >=0 it is input_bitnum if <0 it is -output_bitnum-1
unsigned getOutputBitNum(const char *bitname) const
returns bit number
virtual ~TrgBit()
Destructor.
unsigned getInputBitNum(const char *bitname) const
returns bit number
void printConf(void) const
print configuration values
unsigned preScaleValue(output A) const
returns pre-scale value.
void printPreScaleValues(void) const
print prescale values
TRGSummary::ETimingType getTimingSource(void) const
returns timing source
Abstract base class for different kinds of events.