ATLAS Offline Software
Loading...
Searching...
No Matches
TrigConf::HLTSignature Class Reference

HLT signature configuration information. More...

#include <HLTSignature.h>

Collaboration diagram for TrigConf::HLTSignature:

Public Member Functions

 HLTSignature (void)
 default constructor
 HLTSignature (unsigned int signature_counter, int logic, std::vector< HLTTriggerElement * > &&outputTEs)
 constructor with configuration data
 HLTSignature (const HLTSignature &o)
 copy constructor
 ~HLTSignature (void)
 destructor
unsigned int signature_counter () const
 accessor to the signature counter
unsigned int step () const
 accessor to the signature counter
int logic () const
 accessor to the signature logic
std::vector< HLTTriggerElement * > & outputTEs ()
 accessor to the list of trigger elements
const std::vector< HLTTriggerElement * > & outputTEs () const
 const accessor to the list of trigger elements
const std::string & label () const
 accessor to the signature label
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
void writeXML (std::ofstream &xmlfile)

Private Attributes

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

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{}
std::string m_label
signature label
int m_logic
signature logic (how to combine trigger elements)
unsigned int m_signature_counter
signature counter (step in the chain)

◆ 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 :
24 m_outputTEs(std::move(outputTEs)),
25 m_label("")
26{}
unsigned int signature_counter() const
accessor to the signature counter
std::vector< HLTTriggerElement * > m_outputTEs
list of trigger elements (same elements can appear multiple times to indicate their multiplicities)
std::vector< HLTTriggerElement * > & outputTEs()
accessor to the list of trigger elements
int logic() const
accessor to the signature logic

◆ 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; }
const std::string & label() const
accessor to the signature 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.

static Double_t 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}
static std::vector< std::string > xmlfile
Definition iLumiCalc.h:29

◆ 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: