ATLAS Offline Software
HLTStreamTag.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_HLTStreamTag
6 #define TrigConf_HLTStreamTag
7 
9 
10 #include <iosfwd>
11 #include <fstream>
12 #include <string>
13 
14 namespace TrigConf {
15 
16  class HLTStreamTag;
17  std::ostream & operator<<(std::ostream &, const TrigConf::HLTStreamTag &);
18 
23  class HLTStreamTag : public TrigConfData {
24 
25  public:
26 
28  HLTStreamTag();
29 
37  HLTStreamTag(const std::string& stream, const std::string& type, bool obeyLB, float prescale);
38 
40  virtual ~HLTStreamTag() override = default;
41 
42  bool operator==(const HLTStreamTag &);
43 
44  // getters
45  const std::string& stream() const { return m_stream; }
46  const std::string& type() const { return m_type; }
47  bool obeyLB() const { return m_obeyLB; }
48  float prescale() const { return m_prescale; }
49 
50  // setters
51  void set_stream ( const std::string& stream ) { m_stream = stream; setName(m_type+"."+m_stream); }
52  void set_type ( const std::string& type ) { m_type = type; setName(m_type+"."+m_stream); }
53  void set_obeyLB ( bool val ) { m_obeyLB = val; }
54  void set_prescale( float val ) { m_prescale = val; }
55 
56  // print the chain
57  void print(const std::string& indent="", unsigned int detail=1) const override;
58 
59  void writeXML(std::ofstream & xmlfile) const;
60 
61  private:
62 
63  std::string m_stream;
64  std::string m_type;
65  bool m_obeyLB;
66  float m_prescale;
67 
68  friend std::ostream & operator<<(std::ostream &, const TrigConf::HLTStreamTag &);
69  };
70 
71 }
72 
73 #endif
TrigConf::TrigConfData::setName
void setName(const std::string &name)
Definition: TrigConfData.h:30
TrigConf::HLTStreamTag::stream
const std::string & stream() const
accessor to the stream name
Definition: HLTStreamTag.h:45
TrigConf::operator<<
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)
Definition: L1ThresholdBase.cxx:339
TrigConf::HLTStreamTag::set_obeyLB
void set_obeyLB(bool val)
Definition: HLTStreamTag.h:53
detail
Definition: extract_histogram_tag.cxx:14
TrigConf::HLTStreamTag::set_prescale
void set_prescale(float val)
Definition: HLTStreamTag.h:54
TrigConf::HLTStreamTag::m_type
std::string m_type
the stream type
Definition: HLTStreamTag.h:64
TrigConf::HLTStreamTag::operator<<
friend std::ostream & operator<<(std::ostream &, const TrigConf::HLTStreamTag &)
TrigConf::HLTStreamTag::m_stream
std::string m_stream
the stream name
Definition: HLTStreamTag.h:63
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
TrigConf::HLTStreamTag::m_prescale
float m_prescale
the stream prescale value (in conjunction with a chain)
Definition: HLTStreamTag.h:66
TrigConf::HLTStreamTag::type
const std::string & type() const
accessor to the stream type
Definition: HLTStreamTag.h:46
TrigConf::HLTStreamTag::set_type
void set_type(const std::string &type)
Definition: HLTStreamTag.h:52
TrigConf::HLTStreamTag::set_stream
void set_stream(const std::string &stream)
Definition: HLTStreamTag.h:51
TrigConf::HLTStreamTag::print
void print(const std::string &indent="", unsigned int detail=1) const override
Definition: HLTStreamTag.cxx:52
TrigConfData.h
TrigConf::TrigConfData
Definition: TrigConfData.h:13
TrigConf::HLTStreamTag::operator==
bool operator==(const HLTStreamTag &)
Definition: HLTStreamTag.cxx:32
TrigConf::HLTStreamTag::obeyLB
bool obeyLB() const
accessor to the obey LB flag
Definition: HLTStreamTag.h:47
TrigConf::HLTStreamTag::prescale
float prescale() const
accessor to the stream prescale value
Definition: HLTStreamTag.h:48
TrigConf::HLTStreamTag
HLT stream configuration information.
Definition: HLTStreamTag.h:23
TrigConf::HLTStreamTag::m_obeyLB
bool m_obeyLB
the obey LB flag, if true the stream obeys the boundaries of the lumi-blocks
Definition: HLTStreamTag.h:65
TrigConf::HLTStreamTag::writeXML
void writeXML(std::ofstream &xmlfile) const
Definition: HLTStreamTag.cxx:40
TrigConf::HLTStreamTag::~HLTStreamTag
virtual ~HLTStreamTag() override=default
destructor
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
TrigConf::HLTStreamTag::HLTStreamTag
HLTStreamTag()
default constructor
Definition: HLTStreamTag.cxx:12
TrigConf::TrigConfData::indent
std::ostream & indent(std::ostream &o, int lvl, int size) const
Definition: TrigConfData.cxx:23