ATLAS Offline Software
Loading...
Searching...
No Matches
HLT::TriggerElement::FeatureAccessHelper Class Reference

the FeatureAccessHelper is a class used to keep track of features attached to this TE. More...

#include <TriggerElement.h>

Collaboration diagram for HLT::TriggerElement::FeatureAccessHelper:

Public Member Functions

 FeatureAccessHelper ()
 FeatureAccessHelper (class_id_type clid, ObjectIndex index, bool forget=false)
void setCLIDandIndex (class_id_type clid, sub_index_type idx)
class_id_type getCLID () const
 Class ID of object.
const ObjectIndexgetIndex () const
 index in the external ojects array
void setForget (bool value=true)
 sets the forget flag
bool forget () const
 flag, if true saying that the object does not need to be serialized
bool operator== (const FeatureAccessHelper &rhs) const
bool valid () const

Private Attributes

class_id_type m_CLID
 the CLID of the object
ObjectIndex m_index
 the external index (here we do not know what it is)
bool m_forget
 flag, if true saying that link to this feature should not be serialized

Friends

std::ostream & operator<< (std::ostream &o, const FeatureAccessHelper &f)

Detailed Description

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

Definition at line 192 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

Constructor & Destructor Documentation

◆ FeatureAccessHelper() [1/2]

HLT::TriggerElement::FeatureAccessHelper::FeatureAccessHelper ( )
inline

Definition at line 194 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

195 : m_CLID(0), m_forget(false) {}
bool m_forget
flag, if true saying that link to this feature should not be serialized

◆ FeatureAccessHelper() [2/2]

HLT::TriggerElement::FeatureAccessHelper::FeatureAccessHelper ( class_id_type clid,
ObjectIndex index,
bool forget = false )
inline
Parameters
forgetthe only constructor

Definition at line 197 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

198 : m_CLID(clid), m_index(index),m_forget(forget) {}
bool forget() const
flag, if true saying that the object does not need to be serialized
ObjectIndex m_index
the external index (here we do not know what it is)

Member Function Documentation

◆ forget()

bool HLT::TriggerElement::FeatureAccessHelper::forget ( ) const
inline

flag, if true saying that the object does not need to be serialized

Definition at line 212 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ getCLID()

class_id_type HLT::TriggerElement::FeatureAccessHelper::getCLID ( ) const
inline

Class ID of object.

Definition at line 208 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ getIndex()

const ObjectIndex & HLT::TriggerElement::FeatureAccessHelper::getIndex ( ) const
inline

index in the external ojects array

Definition at line 209 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ operator==()

bool HLT::TriggerElement::FeatureAccessHelper::operator== ( const FeatureAccessHelper & rhs) const
inline

Definition at line 220 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

220 {
221 if (m_CLID != rhs.m_CLID || m_index != rhs.m_index)
222 return false;
223 return true;
224 }

◆ setCLIDandIndex()

void HLT::TriggerElement::FeatureAccessHelper::setCLIDandIndex ( class_id_type clid,
sub_index_type idx )
inline

Definition at line 204 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

204 {
205 m_CLID = clid;
206 m_index.setSubTypeIndex(idx);
207 }

◆ setForget()

void HLT::TriggerElement::FeatureAccessHelper::setForget ( bool value = true)
inline

sets the forget flag

Definition at line 211 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ valid()

bool HLT::TriggerElement::FeatureAccessHelper::valid ( ) const
inline

Definition at line 226 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

226{ return m_CLID != invalid_class_id and m_index.valid(); }
static const class_id_type invalid_class_id

◆ operator<<

std::ostream & operator<< ( std::ostream & o,
const FeatureAccessHelper & f )
friend

Definition at line 213 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

213 {
214 o << " CLID:" << f.m_CLID
215 << " idx:" << f.m_index.subTypeIndex()
216 << ":" << f.m_index.objectsBegin()
217 << ":" << f.m_index.objectsEnd() << std::dec;
218 return o;
219 }

Member Data Documentation

◆ m_CLID

class_id_type HLT::TriggerElement::FeatureAccessHelper::m_CLID
private

the CLID of the object

Definition at line 229 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ m_forget

bool HLT::TriggerElement::FeatureAccessHelper::m_forget
private

flag, if true saying that link to this feature should not be serialized

Definition at line 231 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.

◆ m_index

ObjectIndex HLT::TriggerElement::FeatureAccessHelper::m_index
private

the external index (here we do not know what it is)

Definition at line 230 of file TrigNavStructure/TrigNavStructure/TriggerElement.h.


The documentation for this class was generated from the following file: