ATLAS Offline Software
TrigOperationalInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #pragma once
6 #ifndef TRIGSTEERINGEVENT_TRIGOPERATIONALINFO_H
7 #define TRIGSTEERINGEVENT_TRIGOPERATIONALINFO_H
8 
9 
10 #include <map>
11 #include <string>
12 #include <vector>
13 #include "GaudiKernel/MsgStream.h"
14 
15 #include "AthenaKernel/CLASS_DEF.h"
16 // TrigOperationalInfoCollection is included at the end (required by Trigger EDM schema)
17 
18 //#include "TrigNavigation/Navigation.h"
28 
29 public:
31  TrigOperationalInfo(const std::vector<std::string>& keys,
32  const std::vector<float>& values);
33  unsigned int defined(const std::string& name) const;
34  float get(const std::string& name) const;
35  void set(const std::string& name, float value);
36  std::pair<std::vector<std::string>, std::vector<float> > infos() const;
37  const std::vector<std::string>& getKeys() const;
38  const std::vector<float>& getValues() const;
39  void updateAtLocation(unsigned int location, float value);
40 
41 private:
42  std::vector<std::string> m_infoName;
43  std::vector<float> m_infoValue;
44 };
45 
46 
47 
48 std::string str( const TrigOperationalInfo& d ); //<! printing helper
49 MsgStream& operator<< ( MsgStream& m, const TrigOperationalInfo& d ); //<! printing helper (wraps above)
50 
51 
52 bool operator== ( const TrigOperationalInfo& a, const TrigOperationalInfo& b );
53 inline bool operator!= ( const TrigOperationalInfo& a, const TrigOperationalInfo& b ) { return !(a==b); }
54 void diff( const TrigOperationalInfo& a, const TrigOperationalInfo& b, std::map<std::string, double>& variableChange ); //<! comparison with feedback (see: TrigRoiDescriptor)
55 
56 CLASS_DEF( TrigOperationalInfo , 242645981 , 1 )
57 
58 #include "TrigSteeringEvent/TrigOperationalInfoCollection.h"
59 
60 #endif
TrigOperationalInfo::get
float get(const std::string &name) const
Definition: TrigOperationalInfo.cxx:25
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
hist_file_dump.d
d
Definition: hist_file_dump.py:137
diff
void diff(const TrigOperationalInfo &a, const TrigOperationalInfo &b, std::map< std::string, double > &variableChange)
Definition: TrigOperationalInfo.cxx:90
operator==
bool operator==(const TrigOperationalInfo &a, const TrigOperationalInfo &b)
Definition: TrigOperationalInfo.cxx:76
athena.value
value
Definition: athena.py:122
TrigOperationalInfo::TrigOperationalInfo
TrigOperationalInfo()
Definition: TrigOperationalInfo.cxx:10
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
TrigOperationalInfo::getValues
const std::vector< float > & getValues() const
Definition: TrigOperationalInfo.cxx:45
str
std::string str(const TrigOperationalInfo &d)
Definition: TrigOperationalInfo.cxx:57
TrigOperationalInfo::m_infoName
std::vector< std::string > m_infoName
Definition: TrigOperationalInfo.h:42
python.sizes.location
string location
Definition: sizes.py:11
TrigOperationalInfo::updateAtLocation
void updateAtLocation(unsigned int location, float value)
Definition: TrigOperationalInfo.cxx:49
operator<<
MsgStream & operator<<(MsgStream &m, const TrigOperationalInfo &d)
Definition: TrigOperationalInfo.cxx:70
TrigOperationalInfo::infos
std::pair< std::vector< std::string >, std::vector< float > > infos() const
Definition: TrigOperationalInfo.cxx:37
TrigOperationalInfo::set
void set(const std::string &name, float value)
Definition: TrigOperationalInfo.cxx:31
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
operator!=
bool operator!=(const TrigOperationalInfo &a, const TrigOperationalInfo &b)
Definition: TrigOperationalInfo.h:53
TrigOperationalInfo::defined
unsigned int defined(const std::string &name) const
Definition: TrigOperationalInfo.cxx:21
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigOperationalInfo
This class defined generic object to store operational info available during triggering online i....
Definition: TrigOperationalInfo.h:27
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TrigOperationalInfo::getKeys
const std::vector< std::string > & getKeys() const
Definition: TrigOperationalInfo.cxx:41
TrigOperationalInfo::m_infoValue
std::vector< float > m_infoValue
Definition: TrigOperationalInfo.h:43
CLASS_DEF.h
macros to associate a CLID to a type