File indexing completed on 2024-04-06 12:20:30
0001 #ifndef L1Trigger_L1TGlobal_MuonShowerCondition_h
0002 #define L1Trigger_L1TGlobal_MuonShowerCondition_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <iosfwd>
0012 #include <string>
0013
0014
0015
0016 #include "L1Trigger/L1TGlobal/interface/ConditionEvaluation.h"
0017
0018 #include "DataFormats/L1Trigger/interface/MuonShower.h"
0019
0020
0021 class GlobalCondition;
0022 class MuonShowerTemplate;
0023
0024 namespace l1t {
0025
0026 class GlobalBoard;
0027
0028
0029 class MuonShowerCondition : public ConditionEvaluation {
0030 public:
0031
0032
0033 MuonShowerCondition();
0034
0035
0036 MuonShowerCondition(const GlobalCondition*, const GlobalBoard*, const int nrL1MuShower);
0037
0038
0039 MuonShowerCondition(const MuonShowerCondition&);
0040
0041
0042 ~MuonShowerCondition() override;
0043
0044
0045 MuonShowerCondition& operator=(const MuonShowerCondition&);
0046
0047
0048 const bool evaluateCondition(const int bxEval) const override;
0049
0050
0051 void print(std::ostream& myCout) const override;
0052
0053
0054 inline const MuonShowerTemplate* gtMuonShowerTemplate() const { return m_gtMuonShowerTemplate; }
0055
0056 void setGtMuonShowerTemplate(const MuonShowerTemplate*);
0057
0058
0059 inline const GlobalBoard* gtGTL() const { return m_gtGTL; }
0060
0061 void setGtGTL(const GlobalBoard*);
0062
0063 private:
0064
0065 void copy(const MuonShowerCondition& cp);
0066
0067
0068 const l1t::MuonShower* getCandidate(const int bx, const int indexCand) const;
0069
0070
0071 const bool checkObjectParameter(const int iCondition, const l1t::MuonShower& cand, const unsigned int index) const;
0072
0073
0074 const MuonShowerTemplate* m_gtMuonShowerTemplate;
0075
0076
0077 const GlobalBoard* m_gtGTL;
0078 };
0079
0080 }
0081 #endif