Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GlobalTrigger_L1GtEnergySumCondition_h
0002 #define GlobalTrigger_L1GtEnergySumCondition_h
0003 
0004 /**
0005  * \class L1GtEnergySumCondition
0006  *
0007  *
0008  * Description: evaluation of a CondEnergySum 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 #include <string>
0021 
0022 // user include files
0023 //   base classes
0024 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
0025 
0026 // forward declarations
0027 class L1GtCondition;
0028 class L1GtEnergySumTemplate;
0029 
0030 class L1GlobalTriggerPSB;
0031 
0032 // class declaration
0033 class L1GtEnergySumCondition : public L1GtConditionEvaluation {
0034 public:
0035   /// constructors
0036   ///     default
0037   L1GtEnergySumCondition();
0038 
0039   ///     from base template condition (from event setup usually)
0040   L1GtEnergySumCondition(const L1GtCondition *, const L1GlobalTriggerPSB *);
0041 
0042   // copy constructor
0043   L1GtEnergySumCondition(const L1GtEnergySumCondition &);
0044 
0045   // destructor
0046   ~L1GtEnergySumCondition() override;
0047 
0048   // assign operator
0049   L1GtEnergySumCondition &operator=(const L1GtEnergySumCondition &);
0050 
0051 public:
0052   /// the core function to check if the condition matches
0053   const bool evaluateCondition() const override;
0054 
0055   /// print condition
0056   void print(std::ostream &myCout) const override;
0057 
0058 public:
0059   ///   get / set the pointer to a L1GtCondition
0060   inline const L1GtEnergySumTemplate *gtEnergySumTemplate() const { return m_gtEnergySumTemplate; }
0061 
0062   void setGtEnergySumTemplate(const L1GtEnergySumTemplate *);
0063 
0064   ///   get / set the pointer to PSB
0065   inline const L1GlobalTriggerPSB *gtPSB() const { return m_gtPSB; }
0066 
0067   void setGtPSB(const L1GlobalTriggerPSB *);
0068 
0069 private:
0070   /// copy function for copy constructor and operator=
0071   void copy(const L1GtEnergySumCondition &cp);
0072 
0073 private:
0074   /// pointer to a L1GtEnergySumTemplate
0075   const L1GtEnergySumTemplate *m_gtEnergySumTemplate;
0076 
0077   /// pointer to PSB, to be able to get the trigger objects
0078   const L1GlobalTriggerPSB *m_gtPSB;
0079 };
0080 
0081 #endif