6#ifndef TrigSteeringEvent_TrigPassBits_h
7#define TrigSteeringEvent_TrigPassBits_h
33 void markPassing(
unsigned position,
const void *cont=0 );
39 bool isPassing(
unsigned position )
const;
56 template<
class CONTAINER>
58 return new TrigPassBits(cont->size(), (
const void*)cont );
68 template<
class T,
class CONTAINER>
70 typename CONTAINER::const_iterator i = std::find(
container->begin(),
container->end(), obj);
74 throw std::runtime_error(
"When marking object as passing the trigger found object not from container");
81 template<
class T,
class CONTAINER>
83 typename CONTAINER::const_iterator i = std::find(
container->begin(),
container->end(), obj);
87 throw std::runtime_error(
"When checking that object passed the trigger found object not from container");
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
File providing the different SG_BASE macros.
const void * m_container_ptr
bool isPassing(unsigned position) const
Check the bit value a the position.
void markPassing(unsigned position, const void *cont=0)
Set the bit value a the position to true.
friend class TrigPassBitsCnv_p1
unsigned int size() const
gets size of the bits array
std::vector< bool > m_decisions
trainsient bits storage (STL docu assures that this is efficient)
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
TrigPassBits * makeTrigPassBits(const CONTAINER *cont)
bool isPassing(const TrigPassBits *bits, const T *obj, const CONTAINER *container)
Check the bit for the object in the associated bits object.
void markPassing(TrigPassBits *bits, const T *obj, const CONTAINER *container)
Set the bit for the object in the associated bits object.