Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 //-------------------------------------------------
0002 //
0003 /**  \class DTSectCollThSegm
0004  *
0005  *   Muon Sector Collector Trigger Theta candidate 
0006  *
0007  *
0008  * 
0009  *   \author C. Battilana
0010  */
0011 //
0012 //--------------------------------------------------
0013 #ifndef DT_SECTCOLL_TH_SEGM_H
0014 #define DT_SECTCOLL_TH_SEGM_H
0015 
0016 //------------------------------------
0017 // Collaborating Class Declarations --
0018 //------------------------------------
0019 
0020 //----------------------
0021 // Base Class Headers --
0022 //----------------------
0023 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0024 #include "DataFormats/MuonDetId/interface/DTSectCollId.h"
0025 #include "L1Trigger/DTTriggerServerTheta/interface/DTChambThSegm.h"
0026 #include "L1Trigger/DTUtilities/interface/DTTrigData.h"
0027 
0028 //---------------
0029 // C++ Headers --
0030 //---------------
0031 
0032 //              ---------------------
0033 //              -- Class Interface --
0034 //              ---------------------
0035 
0036 typedef unsigned char myint8;
0037 
0038 class DTSectCollThSegm : public DTTrigData {
0039 public:
0040   /// Constructor
0041   DTSectCollThSegm(DTSectCollId, int, const DTChambThSegm*);
0042 
0043   /// Constructor
0044   DTSectCollThSegm(const DTSectCollThSegm& seg);
0045 
0046   /// Destructor
0047   ~DTSectCollThSegm() override;
0048 
0049   /// Assignment operator
0050   DTSectCollThSegm& operator=(const DTSectCollThSegm& seg);
0051 
0052   /// Clear
0053   void clear();
0054 
0055   /// Return step number
0056   inline int step() const { return m_step; }
0057 
0058   /// Identifier of the associated chamber
0059   DTSectCollId SCId() const { return m_sectcollid; }
0060 
0061   /// Identifier of the associated chamber
0062   DTChamberId ChamberId() const override { return m_tsthetatrig->ChamberId(); }
0063 
0064   /// Print
0065   void print() const override;
0066 
0067   /// Return the code for a given set of 7 BTI
0068   inline int code(const int i) const { return m_tsthetatrig->code(i); };
0069 
0070   /// Return the position for a given set of 7 BTI
0071   inline int position(const int i) const { return m_tsthetatrig->position(i); };
0072 
0073   /// Return the quality for a given set of 7 BTI
0074   inline int quality(const int i) const { return m_tsthetatrig->quality(i); };
0075 
0076 private:
0077   /// parent sector collector
0078   DTSectCollId m_sectcollid;
0079 
0080   /// step number
0081   myint8 m_step;
0082 
0083   /// the corresponding TS theta trigger
0084   const DTChambThSegm* m_tsthetatrig;
0085 };
0086 
0087 #endif