1#ifndef __JTRIGGER__JTRIGGERINTERFACE__
2#define __JTRIGGER__JTRIGGERINTERFACE__
23 using KM3NETDAQ::NUMBER_OF_TRIGGER_BITS;
56 template<JTriggerbit_t N>
75 template<JTriggerbit_t N>
88 template<JTriggerbit_t 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)
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 * get_trigger_name(JBit< N > bit, JTriggerbit_t value)
Recursive method to get trigger name for given trigger bit.
JTriggerbit_t find_trigger_bit(JBit< N > bit) const
Recursive method to find the trigger bit of the given trigger data.
JTriggerInterface()
Default constructor.
JMatch< value_type > match_type
bool checkTriggerBit() const
Test whether specific trigger bit correponds to derived trigger class.
static const char * get_trigger_name(JBit< NUMBER_OF_TRIGGER_BITS > bit, JTriggerbit_t value)
Termination method of recursive method to get trigger name.
static const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
virtual ~JTriggerInterface()
Virtual destructor.
static const char * getTriggerName()
Get trigger name.
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.
JTriggerInput::value_type value_type
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
unsigned int JTriggerbit_t
Type definition of trigger bit.
JTriggerbit_t getTriggerBit()
Get the trigger bit.
This class will generate a compiler error if trigger bit is out of range.
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