ATLAS Offline Software
Public Member Functions | Private Attributes | Friends | List of all members
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. More...
 
const ObjectIndexgetIndex () const
 index in the external ojects array More...
 
void setForget (bool value=true)
 sets the forget flag More...
 
bool forget () const
 flag, if true saying that the object does not need to be serialized More...
 
bool operator== (const FeatureAccessHelper &rhs) const
 
bool valid () const
 

Private Attributes

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

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) {}

◆ 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) {}

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;
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(); }

Friends And Related Function Documentation

◆ 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:
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
HLT::TriggerElement::FeatureAccessHelper::m_index
ObjectIndex m_index
the external index (here we do not know what it is)
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:230
index
Definition: index.py:1
HLT::TriggerElement::FeatureAccessHelper::m_CLID
class_id_type m_CLID
the CLID of the object
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:229
HLT::TriggerElement::ObjectIndex::valid
bool valid() const
Definition: TrigNavStructure/Root/TriggerElement.cxx:342
HLT::TriggerElement::FeatureAccessHelper::m_forget
bool m_forget
flag, if true saying that link to this feature should not be serialized
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:231
HLT::TriggerElement::ObjectIndex::setSubTypeIndex
void setSubTypeIndex(sub_index_type idx)
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:91
HLT::TriggerElement::FeatureAccessHelper::forget
bool forget() const
flag, if true saying that the object does not need to be serialized
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:212
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69