ATLAS Offline Software
Public Member Functions | Private Attributes | Friends | List of all members
TrigConf::HLTSignature Class Reference

HLT signature configuration information. More...

#include <HLTSignature.h>

Collaboration diagram for TrigConf::HLTSignature:

Public Member Functions

 HLTSignature (void)
 default constructor More...
 
 HLTSignature (unsigned int signature_counter, int logic, std::vector< HLTTriggerElement * > &&outputTEs)
 constructor with configuration data More...
 
 HLTSignature (const HLTSignature &o)
 copy constructor More...
 
 ~HLTSignature (void)
 destructor More...
 
unsigned int signature_counter () const
 accessor to the signature counter More...
 
unsigned int step () const
 accessor to the signature counter More...
 
int logic () const
 accessor to the signature logic More...
 
std::vector< HLTTriggerElement * > & outputTEs ()
 accessor to the list of trigger elements More...
 
const std::vector< HLTTriggerElement * > & outputTEs () const
 const accessor to the list of trigger elements More...
 
const std::string & label () const
 accessor to the signature label More...
 
void set_signature_counter (unsigned int sc)
 
void set_logic (int logic)
 
void set_outputTEs (const std::vector< HLTTriggerElement * > &outputTEs)
 
void set_label (const std::string &label)
 
void print (const std::string &indent="", unsigned int detail=1) const
 print method More...
 
void writeXML (std::ofstream &xmlfile)
 

Private Attributes

unsigned int m_signature_counter
 signature counter (step in the chain)
More...
 
int m_logic
 signature logic (how to combine trigger elements) More...
 
std::vector< HLTTriggerElement * > m_outputTEs
 list of trigger elements (same elements can appear multiple times to indicate their multiplicities) More...
 
std::string m_label
 signature label
More...
 

Friends

std::ostream & operator<< (std::ostream &, const HLTSignature &)
 

Detailed Description

HLT signature configuration information.

A signature in the HLT defines the trigger pattern that must be fullfilled if the HLT trigger is to pass a certain step in the execution of the trigger chain. A signature consists of a list of trigger elements and multiplicities and a logic how the trigger elements are combined. Currently only simple 'OR' combinations are allowed.

Definition at line 29 of file HLTSignature.h.

Constructor & Destructor Documentation

◆ HLTSignature() [1/3]

HLTSignature::HLTSignature ( void  )

default constructor

Definition at line 14 of file HLTSignature.cxx.

14  :
16  m_logic(1),
17  m_label("")
18 {}

◆ HLTSignature() [2/3]

HLTSignature::HLTSignature ( unsigned int  signature_counter,
int  logic,
std::vector< HLTTriggerElement * > &&  outputTEs 
)

constructor with configuration data

Parameters
signature_countersignature counter (step in the chain)
logicsignature logic (how to combine trigger elements - currently only '1'='OR' allowed)
outputTEslist of trigger elements that form the signature

Definition at line 20 of file HLTSignature.cxx.

21  :
23  m_logic(logic),
24  m_outputTEs(std::move(outputTEs)),
25  m_label("")
26 {}

◆ HLTSignature() [3/3]

HLTSignature::HLTSignature ( const HLTSignature o)

copy constructor

deep copy of all TEs

Definition at line 29 of file HLTSignature.cxx.

29  :
31  m_logic( o.m_logic ),
32  m_label( o.m_label )
33 {
34  // deep copy to ensure ownership (maybe should use shared_ptr in the future)
35  for(HLTTriggerElement* te : o.m_outputTEs)
36  m_outputTEs.push_back(new HLTTriggerElement(*te));
37 }

◆ ~HLTSignature()

TrigConf::HLTSignature::~HLTSignature ( void  )

destructor

Definition at line 40 of file HLTSignature.cxx.

40  {
41  for(HLTTriggerElement* te : m_outputTEs) delete te;
42 }

Member Function Documentation

◆ label()

const std::string& TrigConf::HLTSignature::label ( ) const
inline

accessor to the signature label

Definition at line 62 of file HLTSignature.h.

◆ logic()

int TrigConf::HLTSignature::logic ( ) const
inline

accessor to the signature logic

Definition at line 59 of file HLTSignature.h.

◆ outputTEs() [1/2]

std::vector<HLTTriggerElement*>& TrigConf::HLTSignature::outputTEs ( )
inline

accessor to the list of trigger elements

Definition at line 60 of file HLTSignature.h.

◆ outputTEs() [2/2]

const std::vector<HLTTriggerElement*>& TrigConf::HLTSignature::outputTEs ( ) const
inline

const accessor to the list of trigger elements

Definition at line 61 of file HLTSignature.h.

◆ print()

void TrigConf::HLTSignature::print ( const std::string &  indent = "",
unsigned int  detail = 1 
) const

print method

Definition at line 62 of file HLTSignature.cxx.

62  {
63  cout << indent << "signature " << signature_counter()
64  << " (logic=" << logic() << ") output TEs ("<< m_outputTEs.size() <<"):";
65 
66  for( HLTTriggerElement* te : m_outputTEs ) {
67  if( te!=0 ) cout << *te << " "; else cout << "(0) ";
68  }
69  cout << endl;
70 }

◆ set_label()

void TrigConf::HLTSignature::set_label ( const std::string &  label)
inline

Definition at line 67 of file HLTSignature.h.

67 { m_label = label; }

◆ set_logic()

void TrigConf::HLTSignature::set_logic ( int  logic)
inline

Definition at line 65 of file HLTSignature.h.

65 { m_logic = logic; }

◆ set_outputTEs()

void TrigConf::HLTSignature::set_outputTEs ( const std::vector< HLTTriggerElement * > &  outputTEs)
inline

Definition at line 66 of file HLTSignature.h.

◆ set_signature_counter()

void TrigConf::HLTSignature::set_signature_counter ( unsigned int  sc)
inline

Definition at line 64 of file HLTSignature.h.

64 { m_signature_counter = sc; }

◆ signature_counter()

unsigned int TrigConf::HLTSignature::signature_counter ( ) const
inline

accessor to the signature counter

Definition at line 57 of file HLTSignature.h.

◆ step()

unsigned int TrigConf::HLTSignature::step ( ) const
inline

accessor to the signature counter

Definition at line 58 of file HLTSignature.h.

◆ writeXML()

void TrigConf::HLTSignature::writeXML ( std::ofstream &  xmlfile)

Definition at line 45 of file HLTSignature.cxx.

46 {
47  xmlfile << " <SIGNATURE logic=\"" << m_logic << "\" "
48  << "signature_counter=\"" << m_signature_counter << "\">"
49  << std::endl;
50 
51  //write TEs
52  for (TrigConf::HLTTriggerElement* outputTE : m_outputTEs) {
53  outputTE->writeXML(xmlfile);
54  }
55 
56  xmlfile << " </SIGNATURE>" << std::endl;
57 
58  return;
59 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const HLTSignature  
)
friend

Member Data Documentation

◆ m_label

std::string TrigConf::HLTSignature::m_label
private

signature label

Definition at line 78 of file HLTSignature.h.

◆ m_logic

int TrigConf::HLTSignature::m_logic
private

signature logic (how to combine trigger elements)

Definition at line 76 of file HLTSignature.h.

◆ m_outputTEs

std::vector<HLTTriggerElement*> TrigConf::HLTSignature::m_outputTEs
private

list of trigger elements (same elements can appear multiple times to indicate their multiplicities)

Definition at line 77 of file HLTSignature.h.

◆ m_signature_counter

unsigned int TrigConf::HLTSignature::m_signature_counter
private

signature counter (step in the chain)

Definition at line 75 of file HLTSignature.h.


The documentation for this class was generated from the following files:
TrigConf::HLTSignature::m_signature_counter
unsigned int m_signature_counter
signature counter (step in the chain)
Definition: HLTSignature.h:75
TrigConf::HLTSignature::signature_counter
unsigned int signature_counter() const
accessor to the signature counter
Definition: HLTSignature.h:57
TrigConf::HLTSignature::m_logic
int m_logic
signature logic (how to combine trigger elements)
Definition: HLTSignature.h:76
python.XMLReader.xmlfile
xmlfile
Definition: XMLReader.py:72
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TrigConf::HLTSignature::logic
int logic() const
accessor to the signature logic
Definition: HLTSignature.h:59
TrigConf::HLTSignature::m_outputTEs
std::vector< HLTTriggerElement * > m_outputTEs
list of trigger elements (same elements can appear multiple times to indicate their multiplicities)
Definition: HLTSignature.h:77
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:18
TrigConf::HLTSignature::label
const std::string & label() const
accessor to the signature label
Definition: HLTSignature.h:62
TrigConf::HLTSignature::m_label
std::string m_label
signature label
Definition: HLTSignature.h:78
TrigConf::HLTSignature::outputTEs
std::vector< HLTTriggerElement * > & outputTEs()
accessor to the list of trigger elements
Definition: HLTSignature.h:60
TrigConf::HLTTriggerElement
HLT trigger element configuration information.
Definition: HLTTriggerElement.h:26