1 #ifndef __JTRIGGER__JTRIGGERINTERFACE__
2 #define __JTRIGGER__JTRIGGERINTERFACE__
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>();
205 template<
class JTrigger_t>
218 template<
class JTrigger_t>
240 template<JTriggerbit_t N,
bool is_val
id = (N < NUMBER_OF_TRIGGER_BITS)>
246 template<JTriggerbit_t N>
271 #define setTriggerBit(JTrigger_t, N) \
275 struct JTriggerBit<JTrigger_t> : \
276 JAssertConversion<JTrigger_t, JTriggerInterface>, \
279 static const JTriggerbit_t value = N; \
284 inline bool JTriggerInterface::checkTriggerBit<N>() const \
286 return dynamic_cast<const JTrigger_t*>(this) != NULL; \
291 const char* JTriggerInterface::getTriggerName<N>() \
293 return #JTrigger_t; \
Base class for match operations for cluster and hit-preprocessing methods.
Auxialiary class to assert type conversion.
Function object interface for hit matching.
JTriggerbit_t getTriggerBit() const
Get the trigger bit.
static const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
JTriggerbit_t find_trigger_bit(JBit< N > bit) const
Recursive method to find the trigger bit of the given trigger data.
JTriggerInterface()
Default constructor.
bool checkTriggerBit() const
Test whether specific trigger bit correponds to derived trigger class.
static const char * get_trigger_name(JBit< N > bit, JTriggerbit_t value)
Recursive method to get trigger name for given trigger bit.
static const char * getTriggerName()
Get trigger name.
JTriggerInput::value_type value_type
JMatch< value_type > match_type
virtual ~JTriggerInterface()
Virtual destructor.
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.
static const char * get_trigger_name(JBit< NUMBER_OF_TRIGGER_BITS > bit, JTriggerbit_t value)
Termination method of recursive method to get trigger name.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
unsigned int JTriggerbit_t
Type definition of trigger bit.
JTriggerbit_t getTriggerBit(const JTrigger_t &event)
Get the trigger bit.
const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
Implementation of a valid trigger bit.
This class is used to map trigger class to trigger bit.
Auxiliary class for type definition of specific trigger bit.
static const JTriggerbit_t value