CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonTemplate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_MuonTemplate_h
2 #define L1Trigger_L1TGlobal_MuonTemplate_h
3 
20 // system include files
21 #include <string>
22 #include <iosfwd>
23 
24 // user include files
25 
26 // base class
28 
29 // forward declarations
30 
31 // class declaration
33 {
34 
35 public:
36 
37  // constructor
38  MuonTemplate();
39 
40  // constructor
41  MuonTemplate(const std::string& );
42 
43  // constructor
45 
46  // copy constructor
47  MuonTemplate( const MuonTemplate& );
48 
49  // destructor
50  virtual ~MuonTemplate();
51 
52  // assign operator
54 
55 public:
56 
57  // typedef for a single object template
59  {
60  unsigned int ptHighThreshold;
61  unsigned int ptLowThreshold;
62  bool enableMip;
63  bool enableIso;
64  bool requestIso;
65  unsigned int qualityLUT;
66  unsigned int isolationLUT;
67  unsigned long long etaRange;
68  unsigned int phiHigh;
69  unsigned int phiLow;
70 
71  int charge;
72 
73  unsigned int etaWindow1Lower;
74  unsigned int etaWindow1Upper;
75  unsigned int etaWindow2Lower;
76  unsigned int etaWindow2Upper;
77 
78  unsigned int phiWindow1Lower;
79  unsigned int phiWindow1Upper;
80  unsigned int phiWindow2Lower;
81  unsigned int phiWindow2Upper;
82  };
83 
84  // typedef for correlation parameters
85  // chargeCorrelation is defined always
86  // see documentation for meaning
88  {
89  unsigned int chargeCorrelation;
90  //unsigned long long deltaEtaRange;
91 
92  unsigned long long deltaPhiRange0Word;
93  unsigned long long deltaPhiRange1Word;
94  //unsigned int deltaPhiMaxbits;
95 
96  unsigned long long deltaEtaRange;
97 
98  unsigned long long deltaPhiRange;
99  unsigned int deltaPhiMaxbits;
100 
101  unsigned int deltaEtaRangeLower;
102  unsigned int deltaEtaRangeUpper;
103 
104  unsigned int deltaPhiRangeLower;
105  unsigned int deltaPhiRangeUpper;
106 
107  };
108 
109 public:
110 
111  inline const std::vector<ObjectParameter>* objectParameter() const
112  {
113  return &m_objectParameter;
114  }
115 
117  {
118  return &m_correlationParameter;
119  }
120 
121 
123  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
124  const CorrelationParameter& corrParameter);
125 
126 
128  virtual void print(std::ostream& myCout) const;
129 
131  friend std::ostream& operator<<(std::ostream&, const MuonTemplate&);
132 
133 
134 private:
135 
137  void copy( const MuonTemplate& cp);
138 
139 
140 private:
141 
143  std::vector<ObjectParameter> m_objectParameter;
145 
146 };
147 
148 #endif
void copy(const MuonTemplate &cp)
copy function for copy constructor and operator=
virtual ~MuonTemplate()
Definition: MuonTemplate.cc:72
virtual void print(std::ostream &myCout) const
print the condition
Definition: MuonTemplate.cc:97
MuonTemplate & operator=(const MuonTemplate &)
Definition: MuonTemplate.cc:78
unsigned long long deltaPhiRange
Definition: MuonTemplate.h:98
const std::vector< ObjectParameter > * objectParameter() const
Definition: MuonTemplate.h:111
unsigned long long etaRange
Definition: MuonTemplate.h:67
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: MuonTemplate.h:143
unsigned long long deltaPhiRange0Word
Definition: MuonTemplate.h:92
unsigned long long deltaPhiRange1Word
Definition: MuonTemplate.h:93
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: MuonTemplate.cc:87
unsigned long long deltaEtaRange
Definition: MuonTemplate.h:96
const CorrelationParameter * correlationParameter() const
Definition: MuonTemplate.h:116
CorrelationParameter m_correlationParameter
Definition: MuonTemplate.h:144
friend std::ostream & operator<<(std::ostream &, const MuonTemplate &)
output stream operator