Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:51:18

0001 //
0002 // NOTE:  This file was automatically generated from UTM library via import_utm.pl
0003 // DIRECT EDITS MIGHT BE LOST.
0004 //
0005 /**
0006  * @author      Takashi Matsushita
0007  * Created:     12 Mar 2015
0008  */
0009 
0010 #ifndef tmEventSetup_L1TUtmObject_hh
0011 #define tmEventSetup_L1TUtmObject_hh
0012 
0013 #include "CondFormats/L1TObjects/interface/L1TUtmCut.h"
0014 #include "CondFormats/Serialization/interface/Serializable.h"
0015 
0016 #include <limits>
0017 #include <string>
0018 #include <vector>
0019 
0020 /**
0021  *  This class implements data structure for Object
0022  */
0023 class L1TUtmObject {
0024 public:
0025   L1TUtmObject()
0026       : name_(),
0027         type_(),
0028         comparison_operator_(),
0029         bx_offset_(),
0030         threshold_(),
0031         ext_signal_name_(),
0032         ext_channel_id_(std::numeric_limits<unsigned int>::max()),
0033         cuts_(),
0034         version(0){};
0035 
0036   virtual ~L1TUtmObject() = default;
0037 
0038   /** set object name */
0039   void setName(const std::string& x) { name_ = x; };
0040 
0041   /** set object type */
0042   void setType(const int x) { type_ = x; };
0043 
0044   /** set comparison operator for threshold */
0045   void setComparisonOperator(const int x) { comparison_operator_ = x; };
0046 
0047   /** set BX offset of the object */
0048   void setBxOffset(const int x) { bx_offset_ = x; };
0049 
0050   /** set Et/pT threshold in GeV */
0051   void setThreshold(double x) { threshold_ = x; };
0052 
0053   /** set external name */
0054   void setExternalSignalName(const std::string& x) { ext_signal_name_ = x; };
0055 
0056   /** set external channel id */
0057   void setExternalChannelId(const unsigned int x) { ext_channel_id_ = x; };
0058 
0059   /** set cuts */
0060   void setCuts(const std::vector<L1TUtmCut>& x) { cuts_ = x; };
0061 
0062   /** get object name */
0063   const std::string& getName() const { return name_; };
0064 
0065   /** get object type */
0066   const int getType() const { return type_; };
0067 
0068   /** get comparison operator for threshold cut */
0069   const int getComparisonOperator() const { return comparison_operator_; };
0070 
0071   /** get BX offset of the object */
0072   const int getBxOffset() const { return bx_offset_; };
0073 
0074   /** get Et/pT threshold in GeV */
0075   const double getThreshold() const { return threshold_; };
0076 
0077   /** get external name */
0078   const std::string& getExternalSignalName() const { return ext_signal_name_; };
0079 
0080   /** get external channel id */
0081   const unsigned int getExternalChannelId() const { return ext_channel_id_; };
0082 
0083   /** get cuts on the object */
0084   const std::vector<L1TUtmCut>& getCuts() const { return cuts_; };
0085 
0086 protected:
0087   std::string name_;            /**< name of object */
0088   int type_;                    /**< type of object */
0089   int comparison_operator_;     /**< comparison operator for threshold cut */
0090   int bx_offset_;               /**< bunch crossing  offset of object */
0091   double threshold_;            /**< threshold in GeV */
0092   std::string ext_signal_name_; /**< name of extenal signal, only valid when esObjectType == EXT */
0093   unsigned int ext_channel_id_; /**< channel id of external signal, only valid when esObjectType == EXT */
0094   std::vector<L1TUtmCut> cuts_; /**< list of cuts applied on object */
0095   unsigned int version;
0096   COND_SERIALIZABLE;
0097 };
0098 
0099 #endif  // tmEventSetup_L1TUtmObject_hh