ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace TrigConf {
19 class HLTPrescaleSet;
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
HLT chain configuration information.
void clear()
Deletes all prescale sets.
void print(const std::string &indent="", unsigned int detail=1) const
Print the prescale set.
std::recursive_mutex m_prescaleSetCollection_mutex
Mutex for m_prescaleSetCollection.
std::vector< std::pair< unsigned int, unsigned int > > prescale_keys() const
void addPrescaleSet(unsigned int lumiblock, HLTPrescaleSet *pss)
Add prescale set for this lumiblock number.
HLTPrescaleSet * setPrescaleSet(HLTPrescaleSet *pss)
Add prescale set for this lumiblock number.
friend std::ostream & operator<<(std::ostream &, const HLTPrescaleSetCollection &)
std::list< cont > m_prescaleSets
all prescale sets with start lb
HLTPrescaleSet * thePrescaleSet(unsigned int lumiblock) const
get prescale set for lumiblock and set the internal current lumiblock counter
void set_prescale_keys_to_load(const std::vector< std::pair< unsigned int, unsigned int > > &)
HLTPrescaleSetCollection & operator=(const HLTPrescaleSetCollection &)
bool contains(unsigned int lumiblock, unsigned int psk)
Check if prescale set with this lumiblock and prescale keys exists.
const std::list< cont > & sets() const
size_t size() const
number of prescale sets
const HLTPrescaleSet * prescaleSet(unsigned int lumiblock) const
HLT chain configuration information.
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)
cont(unsigned int the_lb, unsigned int the_psk, HLTPrescaleSet *the_pss=0)