CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/GlobalTrigger/interface/L1GtMuonCondition.h

Go to the documentation of this file.
00001 #ifndef GlobalTrigger_L1GtMuonCondition_h
00002 #define GlobalTrigger_L1GtMuonCondition_h
00003 
00020 // system include files
00021 #include <iosfwd>
00022 #include <string>
00023 
00024 // user include files
00025 //   base classes
00026 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
00027 
00028 // forward declarations
00029 class L1GtCondition;
00030 class L1GtMuonTemplate;
00031 
00032 class L1MuGMTCand;
00033 
00034 class L1GlobalTriggerGTL;
00035 
00036 // class declaration
00037 class L1GtMuonCondition : public L1GtConditionEvaluation
00038 {
00039 
00040 public:
00041 
00044     L1GtMuonCondition();
00045 
00047     L1GtMuonCondition(const L1GtCondition*, const L1GlobalTriggerGTL*,
00048             const int nrL1Mu,
00049             const int ifMuEtaNumberBits);
00050 
00051     // copy constructor
00052     L1GtMuonCondition(const L1GtMuonCondition&);
00053 
00054     // destructor
00055     virtual ~L1GtMuonCondition();
00056 
00057     // assign operator
00058     L1GtMuonCondition& operator=(const L1GtMuonCondition&);
00059 
00060 public:
00061 
00063     const bool evaluateCondition() const;
00064 
00066     void print(std::ostream& myCout) const;
00067 
00068 public:
00069 
00071     inline const L1GtMuonTemplate* gtMuonTemplate() const {
00072         return m_gtMuonTemplate;
00073     }
00074 
00075     void setGtMuonTemplate(const L1GtMuonTemplate*);
00076 
00078     inline const L1GlobalTriggerGTL* gtGTL() const {
00079         return m_gtGTL;
00080     }
00081 
00082     void setGtGTL(const L1GlobalTriggerGTL*);
00083 
00084 
00086     inline const int gtIfMuEtaNumberBits() const {
00087         return m_ifMuEtaNumberBits;
00088     }
00089 
00090     void setGtIfMuEtaNumberBits(const int&);
00091 
00092 
00094     inline const int gtCorrParDeltaPhiNrBins() const {
00095         return m_corrParDeltaPhiNrBins;
00096     }
00097 
00098     void setGtCorrParDeltaPhiNrBins(const int&);
00099 
00100 
00101 private:
00102 
00104     void copy(const L1GtMuonCondition& cp);
00105 
00107     const L1MuGMTCand* getCandidate(const int indexCand) const;
00108 
00110     const bool checkObjectParameter(const int iCondition,
00111         const L1MuGMTCand& cand) const;
00112 
00113 private:
00114 
00116     const L1GtMuonTemplate* m_gtMuonTemplate;
00117 
00119     const L1GlobalTriggerGTL* m_gtGTL;
00120 
00122     int m_ifMuEtaNumberBits;
00123 
00124     // maximum number of bins for the delta phi scales
00125     unsigned int m_corrParDeltaPhiNrBins;
00126 
00127 
00128 
00129 };
00130 
00131 #endif