Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:59

0001 #ifndef GlobalTrigger_L1GtHfRingEtSumsCondition_h
0002 #define GlobalTrigger_L1GtHfRingEtSumsCondition_h
0003 
0004 /**
0005  * \class L1GtHfRingEtSumsCondition
0006  *
0007  *
0008  * Description: evaluation of a CondHfRingEtSums condition.
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *
0013  * \author: Vasile Mihai Ghete   - HEPHY Vienna
0014  *
0015  *
0016  */
0017 
0018 // system include files
0019 #include <iosfwd>
0020 
0021 // user include files
0022 //   base classes
0023 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
0024 
0025 // forward declarations
0026 class L1GtCondition;
0027 class L1GtHfRingEtSumsTemplate;
0028 
0029 class L1GlobalTriggerPSB;
0030 
0031 // class declaration
0032 class L1GtHfRingEtSumsCondition : public L1GtConditionEvaluation {
0033 public:
0034   /// constructors
0035   ///     default
0036   L1GtHfRingEtSumsCondition();
0037 
0038   ///     from base template condition (from event setup usually)
0039   L1GtHfRingEtSumsCondition(const L1GtCondition *, const L1GlobalTriggerPSB *);
0040 
0041   // copy constructor
0042   L1GtHfRingEtSumsCondition(const L1GtHfRingEtSumsCondition &);
0043 
0044   // destructor
0045   ~L1GtHfRingEtSumsCondition() override;
0046 
0047   // assign operator
0048   L1GtHfRingEtSumsCondition &operator=(const L1GtHfRingEtSumsCondition &);
0049 
0050 public:
0051   /// the core function to check if the condition matches
0052   const bool evaluateCondition() const override;
0053 
0054   /// print condition
0055   void print(std::ostream &myCout) const override;
0056 
0057 public:
0058   ///   get / set the pointer to a L1GtCondition
0059   inline const L1GtHfRingEtSumsTemplate *gtHfRingEtSumsTemplate() const { return m_gtHfRingEtSumsTemplate; }
0060 
0061   void setGtHfRingEtSumsTemplate(const L1GtHfRingEtSumsTemplate *);
0062 
0063   ///   get / set the pointer to PSB
0064   inline const L1GlobalTriggerPSB *gtPSB() const { return m_gtPSB; }
0065 
0066   void setGtPSB(const L1GlobalTriggerPSB *);
0067 
0068 private:
0069   /// copy function for copy constructor and operator=
0070   void copy(const L1GtHfRingEtSumsCondition &cp);
0071 
0072 private:
0073   /// pointer to a L1GtHfRingEtSumsTemplate
0074   const L1GtHfRingEtSumsTemplate *m_gtHfRingEtSumsTemplate;
0075 
0076   /// pointer to PSB, to be able to get the trigger objects
0077   const L1GlobalTriggerPSB *m_gtPSB;
0078 };
0079 
0080 #endif