CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CaloTemplate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_CaloTemplate_h
2 #define L1Trigger_L1TGlobal_CaloTemplate_h
3 
21 // system include files
22 #include <string>
23 #include <iosfwd>
24 
25 // user include files
26 
27 // base class
29 
30 // forward declarations
31 
32 // class declaration
33 class CaloTemplate : public GlobalCondition {
34 public:
35  // constructor
36  CaloTemplate();
37 
38  // constructor
39  CaloTemplate(const std::string&);
40 
41  // constructor
43 
44  // copy constructor
45  CaloTemplate(const CaloTemplate&);
46 
47  // destructor
48  ~CaloTemplate() override;
49 
50  // assign operator
52 
53 public:
55  struct ObjectParameter {
56  unsigned int etLowThreshold;
57  unsigned int etHighThreshold;
58  unsigned int indexLow;
59  unsigned int indexHigh;
60  unsigned int etaRange;
61  unsigned int phiRange;
62 
63  unsigned int isolationLUT;
64  unsigned int qualityLUT;
65 
66  unsigned int etaWindow1Lower;
67  unsigned int etaWindow1Upper;
68  unsigned int etaWindow2Lower;
69  unsigned int etaWindow2Upper;
70 
71  unsigned int phiWindow1Lower;
72  unsigned int phiWindow1Upper;
73  unsigned int phiWindow2Lower;
74  unsigned int phiWindow2Upper;
75  };
76 
79  unsigned long long deltaEtaRange;
80 
81  unsigned long long deltaPhiRange;
82  unsigned int deltaPhiMaxbits;
83 
84  unsigned int deltaEtaRangeLower;
85  unsigned int deltaEtaRangeUpper;
86 
87  unsigned int deltaPhiRangeLower;
88  unsigned int deltaPhiRangeUpper;
89  };
90 
91 public:
92  inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
93 
95 
97  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
98  const CorrelationParameter& corrParameter);
99 
101  void print(std::ostream& myCout) const override;
102 
104  friend std::ostream& operator<<(std::ostream&, const CaloTemplate&);
105 
106 protected:
108  void copy(const CaloTemplate& cp);
109 
110 protected:
112  std::vector<ObjectParameter> m_objectParameter;
114 };
115 
116 #endif
const std::vector< ObjectParameter > * objectParameter() const
Definition: CaloTemplate.h:92
CorrelationParameter m_correlationParameter
Definition: CaloTemplate.h:113
unsigned long long deltaEtaRange
Definition: CaloTemplate.h:79
unsigned long long deltaPhiRange
Definition: CaloTemplate.h:81
void copy(const CaloTemplate &cp)
copy function for copy constructor and operator=
typedef for a single object template
Definition: CaloTemplate.h:55
friend std::ostream & operator<<(std::ostream &, const CaloTemplate &)
output stream operator
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: CaloTemplate.h:112
CaloTemplate & operator=(const CaloTemplate &)
Definition: CaloTemplate.cc:57
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: CaloTemplate.cc:63
void print(std::ostream &myCout) const override
print the condition
Definition: CaloTemplate.cc:69
typedef for correlation parameters
Definition: CaloTemplate.h:78
~CaloTemplate() override
Definition: CaloTemplate.cc:52
const CorrelationParameter * correlationParameter() const
Definition: CaloTemplate.h:94