ATLAS Offline Software
HLTSignature.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigConf_HLTSignature
6 #define TrigConf_HLTSignature
7 
8 #include <iosfwd>
9 #include <fstream>
10 #include <string>
11 #include <vector>
12 
13 namespace TrigConf {
14 
15  class HLTSignature;
16  class HLTTriggerElement;
17 
18  std::ostream & operator<<(std::ostream &, const HLTSignature &);
19 
29  class HLTSignature {
30 
31  public:
32 
34  HLTSignature( void );
35 
44  HLTSignature( unsigned int signature_counter, int logic,
45  std::vector<HLTTriggerElement*>&& outputTEs );
46 
51  HLTSignature( const HLTSignature& o);
52 
54  ~HLTSignature( void );
55 
56  // accessors
57  unsigned int signature_counter() const { return m_signature_counter; }
58  unsigned int step() const { return m_signature_counter; }
59  int logic() const { return m_logic; }
60  std::vector<HLTTriggerElement*>& outputTEs() { return m_outputTEs; }
61  const std::vector<HLTTriggerElement*>& outputTEs() const { return m_outputTEs; }
62  const std::string& label() const { return m_label; }
63 
64  void set_signature_counter( unsigned int sc ) { m_signature_counter = sc; }
65  void set_logic( int logic ) { m_logic = logic; }
66  void set_outputTEs( const std::vector<HLTTriggerElement*>& outputTEs ) { m_outputTEs = outputTEs; }
67  void set_label( const std::string& label ) { m_label = label; }
68 
70  void print(const std::string& indent="", unsigned int detail=1) const;
71  void writeXML(std::ofstream & xmlfile);
72 
73  private:
74 
75  unsigned int m_signature_counter;
76  int m_logic;
77  std::vector<HLTTriggerElement*> m_outputTEs;
78  std::string m_label;
79  //int m_predecessor_id; ///< ID of the previous signature (old steering, depreciated)
80 
81  friend std::ostream & operator<<(std::ostream &, const HLTSignature &);
82  };
83 
84 }
85 
86 #endif
TrigConf::HLTSignature::m_signature_counter
unsigned int m_signature_counter
signature counter (step in the chain)
Definition: HLTSignature.h:75
TrigConf::operator<<
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)
Definition: L1ThresholdBase.cxx:339
TrigConf::HLTSignature::print
void print(const std::string &indent="", unsigned int detail=1) const
print method
Definition: HLTSignature.cxx:62
TrigConf::HLTSignature::set_label
void set_label(const std::string &label)
Definition: HLTSignature.h:67
TrigConf::HLTSignature::~HLTSignature
~HLTSignature(void)
destructor
Definition: HLTSignature.cxx:40
TrigConf::HLTSignature::signature_counter
unsigned int signature_counter() const
accessor to the signature counter
Definition: HLTSignature.h:57
TrigConf::HLTSignature::set_outputTEs
void set_outputTEs(const std::vector< HLTTriggerElement * > &outputTEs)
Definition: HLTSignature.h:66
detail
Definition: extract_histogram_tag.cxx:14
TrigConf::HLTSignature::m_logic
int m_logic
signature logic (how to combine trigger elements)
Definition: HLTSignature.h:76
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TrigConf::HLTSignature::logic
int logic() const
accessor to the signature logic
Definition: HLTSignature.h:59
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
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
TrigConf::HLTSignature
HLT signature configuration information.
Definition: HLTSignature.h:29
TrigConf::HLTSignature::operator<<
friend std::ostream & operator<<(std::ostream &, const HLTSignature &)
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:36
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::step
unsigned int step() const
accessor to the signature counter
Definition: HLTSignature.h:58
TrigConf::HLTSignature::set_signature_counter
void set_signature_counter(unsigned int sc)
Definition: HLTSignature.h:64
TrigConf::HLTSignature::set_logic
void set_logic(int logic)
Definition: HLTSignature.h:65
TrigConf::HLTSignature::outputTEs
std::vector< HLTTriggerElement * > & outputTEs()
accessor to the list of trigger elements
Definition: HLTSignature.h:60
TrigConf::HLTSignature::writeXML
void writeXML(std::ofstream &xmlfile)
Definition: HLTSignature.cxx:45
TrigConf::HLTSignature::outputTEs
const std::vector< HLTTriggerElement * > & outputTEs() const
const accessor to the list of trigger elements
Definition: HLTSignature.h:61
TrigConf::HLTSignature::HLTSignature
HLTSignature(void)
default constructor
Definition: HLTSignature.cxx:14