ATLAS Offline Software
HLTPrescaleSetCollection.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TrigConf_HLTPrescaleSetCollection
8 #define TrigConf_HLTPrescaleSetCollection
9 
10 #include <iosfwd>
11 #include <string>
12 #include <list>
13 #include <vector>
14 #include <utility>
15 #include <exception>
16 #include <mutex>
17 
18 namespace TrigConf {
19  class HLTPrescaleSet;
20  class HLTPrescaleSetCollection;
21 
22  std::ostream & operator<<(std::ostream &, const TrigConf::HLTPrescaleSetCollection &);
23 
26  public:
27 
28  struct cont {
29  cont(unsigned int the_lb, unsigned int the_psk, HLTPrescaleSet* the_pss = 0) :
30  lb(the_lb), psk(the_psk), pss(the_pss) {};
31  unsigned int lb;
32  unsigned int psk;
34  };
35 
38 
41 
45  HLTPrescaleSet* thePrescaleSet(unsigned int lumiblock) const;
46 
47  const HLTPrescaleSet* prescaleSet(unsigned int lumiblock) const;
48 
50  size_t size() const { return m_prescaleSets.size(); }
51 
57 
59  void addPrescaleSet( unsigned int lumiblock, HLTPrescaleSet* pss );
60 
62  bool contains(unsigned int lumiblock, unsigned int psk );
63 
65  void clear();
66 
67  std::list<cont>& sets() { return m_prescaleSets; }
68 
69  const std::list<cont>& sets() const { return m_prescaleSets; }
70 
71  std::vector<std::pair<unsigned int, unsigned int> > prescale_keys() const;
72 
73  void set_prescale_key_to_load(unsigned int);
74 
75  void set_prescale_keys_to_load(const std::vector<std::pair<unsigned int, unsigned int> >&);
76 
78  void print(const std::string& indent="", unsigned int detail=1) const;
79 
80  std::string __str__() const;
81 
82  private:
83 
85 
87 
88  void addPrescaleSet( const cont& add_psinfo );
89 
90  std::list<cont> m_prescaleSets;
91 
92  mutable std::recursive_mutex m_prescaleSetCollection_mutex;
93 
94  friend std::ostream & operator<<(std::ostream &, const HLTPrescaleSetCollection &);
95 
96  };
97 
98 }
99 
100 #endif
TrigConf::HLTPrescaleSetCollection::operator<<
friend std::ostream & operator<<(std::ostream &, const HLTPrescaleSetCollection &)
TrigConf::HLTPrescaleSetCollection::~HLTPrescaleSetCollection
~HLTPrescaleSetCollection()
destructor
Definition: HLTPrescaleSetCollection.cxx:21
TrigConf::operator<<
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)
Definition: L1ThresholdBase.cxx:339
python.MagFieldUtils.lumiblock
lumiblock
Definition: MagFieldUtils.py:188
TrigConf::HLTPrescaleSetCollection::size
size_t size() const
number of prescale sets
Definition: HLTPrescaleSetCollection.h:50
TrigConf::HLTPrescaleSetCollection::m_prescaleSets
std::list< cont > m_prescaleSets
all prescale sets with start lb
Definition: HLTPrescaleSetCollection.h:90
TrigConf::HLTPrescaleSetCollection::cont::cont
cont(unsigned int the_lb, unsigned int the_psk, HLTPrescaleSet *the_pss=0)
Definition: HLTPrescaleSetCollection.h:29
detail
Definition: extract_histogram_tag.cxx:14
TrigConf::HLTPrescaleSetCollection::HLTPrescaleSetCollection
HLTPrescaleSetCollection()
default constructor
Definition: HLTPrescaleSetCollection.cxx:16
TrigConf::HLTPrescaleSetCollection::cont::lb
unsigned int lb
Definition: HLTPrescaleSetCollection.h:30
TrigConf::HLTPrescaleSetCollection::prescale_keys
std::vector< std::pair< unsigned int, unsigned int > > prescale_keys() const
Definition: HLTPrescaleSetCollection.cxx:125
TrigConf::HLTPrescaleSetCollection::contains
bool contains(unsigned int lumiblock, unsigned int psk)
Check if prescale set with this lumiblock and prescale keys exists.
Definition: HLTPrescaleSetCollection.cxx:153
TrigConf::HLTPrescaleSetCollection::cont::psk
unsigned int psk
Definition: HLTPrescaleSetCollection.h:32
TrigConf::HLTPrescaleSetCollection::clear
void clear()
Deletes all prescale sets.
Definition: HLTPrescaleSetCollection.cxx:39
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:18
TrigConf::HLTPrescaleSetCollection::sets
const std::list< cont > & sets() const
Definition: HLTPrescaleSetCollection.h:69
TrigConf::HLTPrescaleSetCollection::setPrescaleSet
HLTPrescaleSet * setPrescaleSet(HLTPrescaleSet *pss)
Add prescale set for this lumiblock number.
Definition: HLTPrescaleSetCollection.cxx:81
TrigConf::HLTPrescaleSetCollection::sets
std::list< cont > & sets()
Definition: HLTPrescaleSetCollection.h:67
TrigConf::HLTPrescaleSetCollection::m_prescaleSetCollection_mutex
std::recursive_mutex m_prescaleSetCollection_mutex
Mutex for m_prescaleSetCollection.
Definition: HLTPrescaleSetCollection.h:92
TrigConf::HLTPrescaleSetCollection::prescaleSet
const HLTPrescaleSet * prescaleSet(unsigned int lumiblock) const
Definition: HLTPrescaleSetCollection.cxx:49
TrigConf::HLTPrescaleSet
HLT chain configuration information.
Definition: HLTPrescaleSet.h:31
TrigConf::HLTPrescaleSetCollection::addPrescaleSet
void addPrescaleSet(unsigned int lumiblock, HLTPrescaleSet *pss)
Add prescale set for this lumiblock number.
Definition: HLTPrescaleSetCollection.cxx:94
TrigConf::HLTPrescaleSetCollection::operator=
HLTPrescaleSetCollection & operator=(const HLTPrescaleSetCollection &)
Definition: HLTPrescaleSetCollection.cxx:31
TrigConf::HLTPrescaleSetCollection::cont::pss
HLTPrescaleSet * pss
Definition: HLTPrescaleSetCollection.h:33
TrigConf::HLTPrescaleSetCollection::print
void print(const std::string &indent="", unsigned int detail=1) const
Print the prescale set.
Definition: HLTPrescaleSetCollection.cxx:162
TrigConf::HLTPrescaleSetCollection
HLT chain configuration information.
Definition: HLTPrescaleSetCollection.h:25
TrigConf::HLTPrescaleSetCollection::set_prescale_keys_to_load
void set_prescale_keys_to_load(const std::vector< std::pair< unsigned int, unsigned int > > &)
Definition: HLTPrescaleSetCollection.cxx:141
TrigConf::HLTPrescaleSetCollection::set_prescale_key_to_load
void set_prescale_key_to_load(unsigned int)
Definition: HLTPrescaleSetCollection.cxx:134
TrigConf::HLTPrescaleSetCollection::thePrescaleSet
HLTPrescaleSet * thePrescaleSet(unsigned int lumiblock) const
get prescale set for lumiblock and set the internal current lumiblock counter
Definition: HLTPrescaleSetCollection.cxx:54
TrigConf::HLTPrescaleSetCollection::__str__
std::string __str__() const
Definition: HLTPrescaleSetCollection.cxx:199
TrigConf::HLTPrescaleSetCollection::cont
Definition: HLTPrescaleSetCollection.h:28