Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1Trigger_L1TGlobal_AXOL1TLTemplate_h
0002 #define L1Trigger_L1TGlobal_AXOL1TLTemplate_h
0003 
0004 /**
0005  * \class AXOL1TLTemplate
0006  *
0007  *
0008  * Description: L1 Global Trigger AXOL1TL template.
0009  *
0010  * \author: Melissa Quinnan (UC San Diego)
0011  *
0012  */
0013 
0014 // system include files
0015 #include <string>
0016 #include <iosfwd>
0017 
0018 // user include files
0019 
0020 //   base class
0021 #include "L1Trigger/L1TGlobal/interface/GlobalCondition.h"
0022 
0023 // forward declarations
0024 
0025 // class declaration
0026 class AXOL1TLTemplate : public GlobalCondition {
0027 public:
0028   // constructor
0029   AXOL1TLTemplate();
0030 
0031   // constructor
0032   AXOL1TLTemplate(const std::string&);
0033 
0034   // constructor
0035   AXOL1TLTemplate(const std::string&, const l1t::GtConditionType&);
0036 
0037   // copy constructor
0038   AXOL1TLTemplate(const AXOL1TLTemplate&);
0039 
0040   // destructor
0041   ~AXOL1TLTemplate() override;
0042 
0043   // assign operator
0044   AXOL1TLTemplate& operator=(const AXOL1TLTemplate&);
0045 
0046   // typedef for a single object template
0047   struct ObjectParameter {
0048     int minAXOL1TLThreshold;
0049     int maxAXOL1TLThreshold;
0050   };
0051 
0052 public:
0053   inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
0054 
0055   inline const std::string& modelVersion() const { return m_modelVersion; }
0056 
0057   /// set functions
0058   void setConditionParameter(const std::vector<ObjectParameter>& objParameter);
0059 
0060   void setModelVersion(const std::string& modelversion);
0061 
0062   /// print the condition
0063   void print(std::ostream& myCout) const override;
0064 
0065   /// output stream operator
0066   friend std::ostream& operator<<(std::ostream&, const AXOL1TLTemplate&);
0067 
0068 private:
0069   /// copy function for copy constructor and operator=
0070   void copy(const AXOL1TLTemplate& cp);
0071 
0072   /// variables containing the parameters
0073   std::vector<ObjectParameter> m_objectParameter;
0074 
0075   /// model version
0076   std::string m_modelVersion;
0077 };
0078 
0079 #endif