1 #ifndef __JTRIGGER__JTRIGGERINTERFACE__
2 #define __JTRIGGER__JTRIGGERINTERFACE__
18 namespace JPP {
using namespace JTRIGGER; }
56 template<JTriggerbit_t N>
75 template<JTriggerbit_t N>
88 template<JTriggerbit_t N>
91 if (checkTriggerBit<N>())
107 throw JTriggerException(
"Method find_trigger_bit<>(): no corresponding trigger bit found.");
123 template<JTriggerbit_t N>
137 template<JTriggerbit_t N>
140 if (bit.
value == value)
141 return getTriggerName<N>();
211 template<
class JTrigger_t>
224 template<
class JTrigger_t>
246 template<JTriggerbit_t N,
bool is_val
id = (N < NUMBER_OF_TRIGGER_BITS)>
252 template<JTriggerbit_t N>
277 #define setTriggerBit(JTrigger_t, N) \
281 struct JTriggerBit<JTrigger_t> : \
282 JAssertConversion<JTrigger_t, JTriggerInterface>, \
285 static const JTriggerbit_t value = N; \
290 inline bool JTriggerInterface::checkTriggerBit<N>() const \
292 return dynamic_cast<const JTrigger_t*>(this) != NULL; \
297 const char* JTriggerInterface::getTriggerName<N>() \
299 return #JTrigger_t; \
JTriggerbit_t find_trigger_bit(JBit< N > bit) const
Recursive method to find the trigger bit of the given trigger data.
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
static const char * get_trigger_name(JBit< NUMBER_OF_TRIGGER_BITS > bit, JTriggerbit_t value)
Termination method of recursive method to get trigger name.
JMatch< value_type > match_type
This class is used to map trigger class to trigger bit.
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
virtual ~JTriggerInterface()
Virtual destructor.
Auxialiary class to assert type conversion.
Function object interface for hit matching.
static const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
Auxiliary class for type definition of specific trigger bit.
static const JTriggerbit_t value
Base class for match operations inside clusterize methods.
bool checkTriggerBit() const
Test whether specific trigger bit correponds to derived trigger class.
JModuleCounter getNumberOfModules
Function object to count unique modules.
JTriggerbit_t find_trigger_bit(JBit< NUMBER_OF_TRIGGER_BITS > bit) const
Termination method of recursive method to find the trigger bit of the given trigger data...
Implementation of a valid trigger bit.
const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
JTriggerbit_t getTriggerBit() const
Get the trigger bit.
static const char * get_trigger_name(JBit< N > bit, JTriggerbit_t value)
Recursive method to get trigger name for given trigger bit.
Auxiliary class for counting unique modules.
static const char * getTriggerName()
Get trigger name.
JTriggerInput::value_type value_type
JTriggerInterface()
Default constructor.
JTriggerbit_t getTriggerBit()
Get the trigger bit.
unsigned int JTriggerbit_t
Type definition of trigger bit.