CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DataFormats/L1Trigger/interface/L1MuonParticle.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_L1MuonParticle_h
00002 #define L1Trigger_L1MuonParticle_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     L1Trigger
00006 // Class  :     L1MuonParticle
00007 // 
00012 //
00013 // Original Author:  Werner Sun
00014 //         Created:  Sat Jul 15 12:41:07 EDT 2006
00015 // $Id: L1MuonParticle.h,v 1.14 2008/04/03 03:37:20 wsun Exp $
00016 //
00017 
00018 // system include files
00019 
00020 // user include files
00021 #include "DataFormats/Candidate/interface/LeafCandidate.h"
00022 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
00023 
00024 // forward declarations
00025 
00026 namespace l1extra {
00027 
00028    class L1MuonParticle : public reco::LeafCandidate
00029    {
00030 
00031       public:
00032          L1MuonParticle();
00033 
00034          // Eventually, all L1MuGMTCands will be L1MuGMTExtendedCands,
00035          // as soon as dictionaries for them exist in
00036          // L1Trigger/GlobalMuonTrigger.
00037 
00038          L1MuonParticle( Charge q,
00039                          const LorentzVector& p4,
00040                          const L1MuGMTExtendedCand& aCand,
00041                          int bx = 0 ) ;
00042 
00043          L1MuonParticle( Charge q,
00044                          const PolarLorentzVector& p4,
00045                          const L1MuGMTExtendedCand& aCand,
00046                          int bx = 0 ) ;
00047 
00048          // Creates null Ref.
00049          L1MuonParticle( Charge q,
00050                          const LorentzVector& p4,
00051                          bool isolated = false,
00052                          bool mip = false,
00053                          bool forward = false,
00054                          bool rpc = false,
00055                          unsigned int detector = 0,
00056                          int bx = 0 ) ;
00057 
00058          L1MuonParticle( Charge q,
00059                          const PolarLorentzVector& p4,
00060                          bool isolated = false,
00061                          bool mip = false,
00062                          bool forward = false,
00063                          bool rpc = false,
00064                          unsigned int detector = 0,
00065                          int bx = 0 ) ;
00066 
00067          virtual ~L1MuonParticle() {}
00068 
00069          // ---------- const member functions ---------------------
00070          bool isIsolated() const
00071          { return isolated_ ; }
00072 
00073          bool isMip() const
00074          { return mip_ ; }
00075 
00076          bool isForward() const
00077          { return forward_ ; }
00078 
00079          bool isRPC() const
00080          { return rpc_ ; }
00081 
00082          const L1MuGMTExtendedCand& gmtMuonCand() const
00083          { return cand_ ; }
00084 
00085          virtual L1MuonParticle* clone() const
00086          { return new L1MuonParticle( *this ) ; }
00087 
00088          int bx() const
00089          { return bx_ ; }
00090 
00091          // ---------- static member functions --------------------
00092 
00093          // ---------- member functions ---------------------------
00094          void setIsolated( bool isIso )
00095          { isolated_ = isIso ; }
00096 
00097          void setMip( bool isMip )
00098          { mip_ = isMip ; }
00099 
00100          void setForward( bool isForward )
00101          { forward_ = isForward ; }
00102 
00103          void setRPC( bool isRPC )
00104          { rpc_ = isRPC ; }
00105 
00106          void setBx( int bx )
00107          { bx_ = bx ; }
00108 
00109       private:
00110          // L1MuonParticle(const L1MuonParticle&); // stop default
00111 
00112          // const L1MuonParticle& operator=(const L1MuonParticle&); // stop default
00113 
00114          // ---------- member data --------------------------------
00115          bool isolated_ ;
00116          bool mip_ ;
00117          bool forward_ ;
00118          bool rpc_ ;
00119          L1MuGMTExtendedCand cand_ ;
00120          int bx_ ;
00121    };
00122 }
00123 
00124 #endif