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
32 class MuonTemplate : public GtCondition
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 qualityRange;
66  unsigned long long etaRange;
67  unsigned int phiHigh;
68  unsigned int phiLow;
69 
70  unsigned int etaWindowLower;
71  unsigned int etaWindowUpper;
72  unsigned int etaWindowVetoLower;
73  unsigned int etaWindowVetoUpper;
74 
75  unsigned int phiWindowLower;
76  unsigned int phiWindowUpper;
77  unsigned int phiWindowVetoLower;
78  unsigned int phiWindowVetoUpper;
79  };
80 
81  // typedef for correlation parameters
82  // chargeCorrelation is defined always
83  // see documentation for meaning
85  {
86  unsigned int chargeCorrelation;
87  //unsigned long long deltaEtaRange;
88 
89  unsigned long long deltaPhiRange0Word;
90  unsigned long long deltaPhiRange1Word;
91  //unsigned int deltaPhiMaxbits;
92 
93  unsigned long long deltaEtaRange;
94 
95  unsigned long long deltaPhiRange;
96  unsigned int deltaPhiMaxbits;
97 
98  unsigned int deltaEtaRangeLower;
99  unsigned int deltaEtaRangeUpper;
100 
101  unsigned int deltaPhiRangeLower;
102  unsigned int deltaPhiRangeUpper;
103 
104  };
105 
106 public:
107 
108  inline const std::vector<ObjectParameter>* objectParameter() const
109  {
110  return &m_objectParameter;
111  }
112 
114  {
115  return &m_correlationParameter;
116  }
117 
118 
120  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
121  const CorrelationParameter& corrParameter);
122 
123 
125  virtual void print(std::ostream& myCout) const;
126 
128  friend std::ostream& operator<<(std::ostream&, const MuonTemplate&);
129 
130 
131 private:
132 
134  void copy( const MuonTemplate& cp);
135 
136 
137 private:
138 
140  std::vector<ObjectParameter> m_objectParameter;
142 
143 };
144 
145 #endif
void copy(const MuonTemplate &cp)
copy function for copy constructor and operator=
virtual ~MuonTemplate()
Definition: MuonTemplate.cc:74
GtConditionType
Definition: GtDefinitions.h:99
virtual void print(std::ostream &myCout) const
print the condition
Definition: MuonTemplate.cc:99
MuonTemplate & operator=(const MuonTemplate &)
Definition: MuonTemplate.cc:80
unsigned long long deltaPhiRange
Definition: MuonTemplate.h:95
const std::vector< ObjectParameter > * objectParameter() const
Definition: MuonTemplate.h:108
unsigned long long etaRange
Definition: MuonTemplate.h:66
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: MuonTemplate.h:140
unsigned long long deltaPhiRange0Word
Definition: MuonTemplate.h:89
unsigned long long deltaPhiRange1Word
Definition: MuonTemplate.h:90
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: MuonTemplate.cc:89
unsigned long long deltaEtaRange
Definition: MuonTemplate.h:93
const CorrelationParameter * correlationParameter() const
Definition: MuonTemplate.h:113
CorrelationParameter m_correlationParameter
Definition: MuonTemplate.h:141
friend std::ostream & operator<<(std::ostream &, const MuonTemplate &)
output stream operator