1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#ifndef CondFormats_L1TObjects_L1GtCaloTemplate_h
#define CondFormats_L1TObjects_L1GtCaloTemplate_h
/**
* \class L1GtCaloTemplate
*
*
* Description: L1 Global Trigger calo template.
*
* Implementation:
* <TODO: enter implementation details>
*
* \author: Vasile Mihai Ghete - HEPHY Vienna
*
* $Date$
* $Revision$
*
*/
// system include files
#include "CondFormats/Serialization/interface/Serializable.h"
#include <string>
#include <iosfwd>
// user include files
// base class
#include "CondFormats/L1TObjects/interface/L1GtCondition.h"
// forward declarations
// class declaration
class L1GtCaloTemplate : public L1GtCondition {
public:
// constructor
L1GtCaloTemplate();
// constructor
L1GtCaloTemplate(const std::string&);
// constructor
L1GtCaloTemplate(const std::string&, const L1GtConditionType&);
// copy constructor
L1GtCaloTemplate(const L1GtCaloTemplate&);
// destructor
~L1GtCaloTemplate() override;
// assign operator
L1GtCaloTemplate& operator=(const L1GtCaloTemplate&);
public:
/// typedef for a single object template
struct ObjectParameter {
unsigned int etThreshold;
unsigned int etaRange;
unsigned int phiRange;
COND_SERIALIZABLE;
};
/// typedef for correlation parameters
struct CorrelationParameter {
unsigned long long deltaEtaRange;
unsigned long long deltaPhiRange;
unsigned int deltaPhiMaxbits;
COND_SERIALIZABLE;
};
public:
inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
inline const CorrelationParameter* correlationParameter() const { return &m_correlationParameter; }
/// set functions
void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
const CorrelationParameter& corrParameter);
/// print the condition
void print(std::ostream& myCout) const override;
/// output stream operator
friend std::ostream& operator<<(std::ostream&, const L1GtCaloTemplate&);
protected:
/// copy function for copy constructor and operator=
void copy(const L1GtCaloTemplate& cp);
protected:
/// variables containing the parameters
std::vector<ObjectParameter> m_objectParameter;
CorrelationParameter m_correlationParameter;
COND_SERIALIZABLE;
};
#endif
|