HLT::TriggerElement Class Reference

TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It holds navigation links by itself but they are not exposed. The way to work with the navigation is only via the Navigation class. More...

#include <TriggerElement.h>

List of all members.

Classes

class  FeatureAccessHelper
 the FeatureAccessHelper is a class used to keep track of features attached to this TE. The storage is organized somewhere outside the TriggerElement (i.e. Navigation) Once the TE is queried for the features it returns this access helpers and the entity is supposed to make reasonable use of it. There is number of advantages.

  1. TriggerElement objects are lighter
  2. the external storage can be organized more efficient
  3. query for all features of given type can be much quicker
  4. TriggerElement object can be streamed as it is (the index, CLID) remain valid after deserialization
  5. the features can be serialized separately facilitating requirement of safe truncation
More...
class  ObjectIndex
 Helper class for conversion from/to int stored in TE and pair of ints used in Navigation Object pointer in Navigation is pair of ints. One is pointing so collection of givent type. Second int points to object in this sub collection. In TE fro historical reason (and space saving) this 2 ints need to colapse into one 32bit int. More...

Public Types

enum  Relation { sameRoIRelation, seedsRelation, seededByRelation }
 

possible relations enumeration (Note: uses no longer here)

More...
enum  States { activeState = 0x1, ghostState = 0x2, nofwdState = 0x4, errorState = 0x8 }
typedef std::vector
< FeatureAccessHelper
FeatureVec

Public Member Functions

 TriggerElement (te_id_type id, bool ghost, bool nofwd=false)
te_id_type getId () const
 reset internals. Needed because of TriggerStore (or TriggerFactory ...) can be used.
bool getActiveState () const
 get state of the TriggerElement
void setActiveState (bool state)
 set state of the TriggerElement
bool ghost () const
bool getGhostState () const
void setGhostState (bool t=true)
void setTransient (bool t=true)
bool transient ()
void setErrorState (bool state=true)
bool getErrorState () const
const std::vector
< TriggerElement * > & 
getRelated (Relation rel) const
 returns reference to the likns to other TriggerElements related by relation r
void relate (TriggerElement *te, Relation r) const
 reates given TE to other TE
void relate (const std::vector< TriggerElement * > tes, Relation r) const
 relates this TE to vecor of other TEs
void serialize (std::vector< uint32_t > &output, const std::map< TriggerElement *, uint16_t > &keys, const TriggerElement *previous) const
 serializes TE
void deserialize (std::vector< uint32_t >::const_iterator &inputIt, const std::map< uint16_t, TriggerElement * > &keys, const TriggerElement *previous)
 deserialization
const std::vector
< FeatureAccessHelper > & 
getFeatureAccessHelpers () const
 returns all features which ara attached to this TE
std::vector
< FeatureAccessHelper > & 
getFeatureAccessHelpers ()
void addFeature (class_id_type clid, const ObjectIndex &index, bool forget=false)
 add helper for new feature
void addFeature (const FeatureAccessHelper &f)
const std::vector
< FeatureAccessHelper > & 
getPreviousFeatures () const
std::vector
< FeatureAccessHelper > & 
getPreviousFeatures ()

Static Public Member Functions

static unsigned int enquireId (std::vector< uint32_t >::const_iterator &inputIt)

Public Attributes

std::map< Relation,
std::vector< TriggerElement * > > 
m_relations
 relations holder (features outside)

Detailed Description

TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It holds navigation links by itself but they are not exposed. The way to work with the navigation is only via the Navigation class.

Author:
Tomasz Bold <Tomasz.Bold@cern.ch> - U. of California - Irvine

Member Enumeration Documentation

possible relations enumeration (Note: uses no longer here)

Enumerator:
sameRoIRelation 

equilateral relation of all TEs rooted in one RoI

seedsRelation 

what TEs I am seeding

seededByRelation 

what TEs are seeding me

Enumerator:
activeState 

this bit is keeping active/inactive state of TE

ghostState 

this TE is of type ghost/evaporating/one can't attach features to this TE

nofwdState 

this TE is of type which stops fwd deactivation

errorState 

somewhere in the algorithms dealing with this TE there was an error


Member Function Documentation

void TriggerElement::addFeature ( class_id_type  clid,
const ObjectIndex index,
bool  forget = false 
)

add helper for new feature

Parameters:
clid the CLID of the object attached
index an integer used to retrieve it
forget is the flag notifying that during serialization link to this objects should be lost
void TriggerElement::deserialize ( std::vector< uint32_t >::const_iterator &  inputIt,
const std::map< uint16_t, TriggerElement * > &  keys,
const TriggerElement previous 
)

deserialization

Parameters:
inputIt a point where we should start reading
keys keys wich point to the TE related by seeds relation
previous UNUSED parameter
te_id_type HLT::TriggerElement::getId (  )  const [inline]

reset internals. Needed because of TriggerStore (or TriggerFactory ...) can be used.

gets the id of this TriggerElement

const std::vector<TriggerElement*>& HLT::TriggerElement::getRelated ( Relation  rel  )  const [inline]

returns reference to the likns to other TriggerElements related by relation r

Parameters:
rel relation name (one of HLT::Navigation::Relation) #
Returns:
is reference ot the vector of related TEs
void TriggerElement::relate ( const std::vector< TriggerElement * >  tes,
Relation  r 
) const

relates this TE to vecor of other TEs

Parameters:
tes vector of TriggerElement pointers
r relation .. one of Relation enums
void TriggerElement::relate ( TriggerElement te,
Relation  r 
) const

reates given TE to other TE

Parameters:
te TriggerElement pointer
r relation .. one of Relation enums Nothe that the relation is usially reflexive ...
void TriggerElement::serialize ( std::vector< uint32_t > &  output,
const std::map< TriggerElement *, uint16_t > &  keys,
const TriggerElement previous 
) const

serializes TE

Parameters:
output is vector of raw integers where to put serialized TE
keys is a map from pointers to ksys ... this keas go to serializized TE
previous UNUSED parameter

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1