ATLAS Offline Software
Loading...
Searching...
No Matches
CTPConfig.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TrigConf_CTPConfig
8#define TrigConf_CTPConfig
9
10#include <iosfwd>
11
12#include "TrigConfL1Data/Menu.h"
22
23namespace TrigConf {
24
25 class DiffStruct;
26
27 class CTPConfig : public L1DataBaseclass {
28 public:
29 CTPConfig();
30 virtual ~CTPConfig() override;
31
32 // getters
33 unsigned int ctpVersion() const { return m_ctpVersion; }
34 unsigned int l1Version() const { return m_l1Version; }
35 int prescaleSetId() const { return m_PrescaleSetId; }
36 int bunchGroupSetId() const { return m_BunchGroupSetId; }
37
38 const Menu& menu() const { return m_Menu; }
39 const PrescaleSet& prescaleSet(unsigned int partition=0) const { return m_PrescaleSets[partition]; }
40 const BunchGroupSet& bunchGroupSet() const { return m_BunchGroupSet; }
42 const DeadTime& deadTime() const { return m_DeadTime; }
43 const Random& random() const { return m_Random; }
44 const CTPFiles* ctpfiles() const { return m_CTPFiles; }
45 const PrioritySet& prioritySet() const { return m_PrioritySet; }
46 const Muctpi& muCTPi() const { return m_MuCTPi; }
47
48
49 Menu& menu() { return m_Menu; }
50 PrescaleSet& prescaleSet(unsigned int partition=0) { return m_PrescaleSets[partition]; }
54 Random& random() { return m_Random; }
57 Muctpi& muCTPi() { return m_MuCTPi; }
58
59 bool loadCtpFiles() const { return m_LoadCtpFiles; }
60 bool loadCtpcoreFiles() const { return m_LoadCtpcoreFiles; }
61 bool loadCtpinFiles() const { return m_LoadCtpinFiles; }
62 bool loadCtpmonFiles() const { return m_LoadCtpmonFiles; }
63
64 // setters
65 void setCTPVersion( unsigned int v );
66 void setL1Version( unsigned int v );
69
70 void clearPrescaleSets();
71 void setPrescaleSet( const PrescaleSet& pss );
72
75 void setDeadTime( const DeadTime& m ) { m_DeadTime = m; }
76 void setRandom( const Random& m ) { m_Random = m; }
77 void setCTPFiles( CTPFiles* ctp ) { m_CTPFiles = ctp; }
78 void setPrioritySet( const PrioritySet& m ) { m_PrioritySet = m; }
79 void setMuCTPi( const Muctpi& m ) { m_MuCTPi = m; }
80 void setLoadCtpFiles (bool flag = true) {
81 m_LoadCtpFiles=flag;
85 }
86 void setLoadCtpcoreFiles (bool flag = true) { m_LoadCtpcoreFiles=flag; }
87 void setLoadCtpinFiles (bool flag = true) { m_LoadCtpinFiles=flag; }
88 void setLoadCtpmonFiles (bool flag = true) { m_LoadCtpmonFiles=flag; }
89
90
91 // helpers
92 virtual void print(const std::string& indent="", unsigned int detail=1) const override;
93
94 void writeXML(const std::string & filename, int indentWidth=2) const;
95 void writeXML(std::ostream & xmlfile, int indentLevel=0, int indentWidth=2) const;
96
97 bool equals(const CTPConfig* other, const std::string& filename) const;
98
99 DiffStruct* compareTo(const CTPConfig* o) const;
100
101
102 private:
103
104 unsigned int m_ctpVersion;
105 unsigned int m_l1Version;
116
122
123 };
124}
125
126#endif
void setPrescaleSetId(int id)
Definition CTPConfig.h:67
const PrescaledClock & prescaledClock() const
Definition CTPConfig.h:41
unsigned int ctpVersion() const
Definition CTPConfig.h:33
void setCTPFiles(CTPFiles *ctp)
Definition CTPConfig.h:77
CTPFiles * ctpfiles()
Definition CTPConfig.h:55
virtual ~CTPConfig() override
Definition CTPConfig.cxx:26
const CTPFiles * ctpfiles() const
Definition CTPConfig.h:44
const Random & random() const
Definition CTPConfig.h:43
int prescaleSetId() const
Definition CTPConfig.h:35
const DeadTime & deadTime() const
Definition CTPConfig.h:42
unsigned int l1Version() const
Definition CTPConfig.h:34
void setPrescaleSet(const PrescaleSet &pss)
Definition CTPConfig.cxx:51
void setDeadTime(const DeadTime &m)
Definition CTPConfig.h:75
const BunchGroupSet & bunchGroupSet() const
Definition CTPConfig.h:40
int bunchGroupSetId() const
Definition CTPConfig.h:36
virtual void print(const std::string &indent="", unsigned int detail=1) const override
Definition CTPConfig.cxx:93
unsigned int m_l1Version
Definition CTPConfig.h:105
PrescaleSet m_PrescaleSets[4]
Definition CTPConfig.h:109
void setBunchGroupSet(const BunchGroupSet &m)
Definition CTPConfig.h:73
void setLoadCtpinFiles(bool flag=true)
Definition CTPConfig.h:87
BunchGroupSet & bunchGroupSet()
Definition CTPConfig.h:51
const Menu & menu() const
Definition CTPConfig.h:38
void setPrioritySet(const PrioritySet &m)
Definition CTPConfig.h:78
PrioritySet m_PrioritySet
Definition CTPConfig.h:114
const Muctpi & muCTPi() const
Definition CTPConfig.h:46
void setRandom(const Random &m)
Definition CTPConfig.h:76
Random & random()
Definition CTPConfig.h:54
const PrescaleSet & prescaleSet(unsigned int partition=0) const
Definition CTPConfig.h:39
CTPFiles * m_CTPFiles
Definition CTPConfig.h:121
const PrioritySet & prioritySet() const
Definition CTPConfig.h:45
void setLoadCtpmonFiles(bool flag=true)
Definition CTPConfig.h:88
PrescaledClock & prescaledClock()
Definition CTPConfig.h:52
void setMuCTPi(const Muctpi &m)
Definition CTPConfig.h:79
PrescaleSet & prescaleSet(unsigned int partition=0)
Definition CTPConfig.h:50
DeadTime & deadTime()
Definition CTPConfig.h:53
void setLoadCtpFiles(bool flag=true)
Definition CTPConfig.h:80
void setBunchGroupSetId(int id)
Definition CTPConfig.h:68
Muctpi & muCTPi()
Definition CTPConfig.h:57
bool loadCtpmonFiles() const
Definition CTPConfig.h:62
PrioritySet & prioritySet()
Definition CTPConfig.h:56
bool loadCtpinFiles() const
Definition CTPConfig.h:61
BunchGroupSet m_BunchGroupSet
Definition CTPConfig.h:110
void writeXML(const std::string &filename, int indentWidth=2) const
void setL1Version(unsigned int v)
Definition CTPConfig.cxx:39
DiffStruct * compareTo(const CTPConfig *o) const
Definition CTPConfig.cxx:78
unsigned int m_ctpVersion
Definition CTPConfig.h:104
void setCTPVersion(unsigned int v)
Definition CTPConfig.cxx:33
bool loadCtpFiles() const
Definition CTPConfig.h:59
PrescaledClock m_PrescaledClock
Definition CTPConfig.h:111
bool loadCtpcoreFiles() const
Definition CTPConfig.h:60
bool equals(const CTPConfig *other, const std::string &filename) const
Definition CTPConfig.cxx:61
void setLoadCtpcoreFiles(bool flag=true)
Definition CTPConfig.h:86
void setPrescaledClock(const PrescaledClock &m)
Definition CTPConfig.h:74
unsigned int id() const
std::ostream & indent(std::ostream &o, int lvl, int size) const
static std::vector< std::string > xmlfile
Definition iLumiCalc.h:29
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22