Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:29

0001 #ifndef L1Trigger_L1TGlobal_EnergySumZdcCondition_h
0002 #define L1Trigger_L1TGlobal_EnergySumZdcCondition_h
0003 
0004 /**
0005  * \class EnergySumZdcCondition
0006  * 
0007  * 
0008  * Description: evaluation of a CondEnergySumZdc 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/L1TGlobal/interface/ConditionEvaluation.h"
0025 
0026 // forward declarations
0027 class GlobalCondition;
0028 class EnergySumZdcTemplate;
0029 
0030 namespace l1t {
0031 
0032   class L1Candidate;
0033 
0034   class GlobalBoard;
0035 
0036   // class declaration
0037   class EnergySumZdcCondition : public ConditionEvaluation {
0038   public:
0039     /// constructors
0040     ///     default
0041     EnergySumZdcCondition();
0042 
0043     ///     from base template condition (from event setup usually)
0044     EnergySumZdcCondition(const GlobalCondition*, const GlobalBoard*);
0045 
0046     // copy constructor
0047     EnergySumZdcCondition(const EnergySumZdcCondition&);
0048 
0049     // destructor
0050     ~EnergySumZdcCondition() override;
0051 
0052     // assign operator
0053     EnergySumZdcCondition& operator=(const EnergySumZdcCondition&);
0054 
0055   public:
0056     /// the core function to check if the condition matches
0057     const bool evaluateCondition(const int bxEval) const override;
0058 
0059     /// print condition
0060     void print(std::ostream& myCout) const override;
0061 
0062   public:
0063     ///   get / set the pointer to a L1GtCondition
0064     inline const EnergySumZdcTemplate* gtEnergySumZdcTemplate() const { return m_gtEnergySumZdcTemplate; }
0065 
0066     void setGtEnergySumZdcTemplate(const EnergySumZdcTemplate*);
0067 
0068     ///   get / set the pointer to uGt GlobalBoard
0069     inline const GlobalBoard* getuGtB() const { return m_uGtB; }
0070 
0071     void setuGtB(const GlobalBoard*);
0072 
0073   private:
0074     /// copy function for copy constructor and operator=
0075     void copy(const EnergySumZdcCondition& cp);
0076 
0077   private:
0078     /// pointer to a EnergySumZdcTemplate
0079     const EnergySumZdcTemplate* m_gtEnergySumZdcTemplate;
0080 
0081     /// pointer to uGt GlobalBoard, to be able to get the trigger objects
0082     const GlobalBoard* m_uGtB;
0083   };
0084 
0085 }  // namespace l1t
0086 #endif