CMS 3D CMS Logo

L1EmParticle.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1EmParticle_h
2 #define L1Trigger_L1EmParticle_h
3 // -*- C++ -*-
4 //
5 // Package: L1Trigger
6 // Class : L1EmParticle
7 //
12 //
13 // Original Author: Werner Sun
14 // Created: Sat Jul 15 12:41:07 EDT 2006
15 //
16 
17 // system include files
18 
19 // user include files
23 
24 // forward declarations
25 
26 namespace l1extra {
27 
29  public:
31 
32  L1EmParticle();
33 
34  L1EmParticle(const LorentzVector& p4, const edm::Ref<L1GctEmCandCollection>& aRef, int bx = 0);
35 
37 
38  // Creates null Ref.
39  L1EmParticle(const LorentzVector& p4, EmType type = kUndefined, int bx = 0);
40 
42 
43  ~L1EmParticle() override {}
44 
45  // ---------- const member functions ---------------------
46  EmType type() const { return type_; }
47 
49 
50  const L1GctEmCand* gctEmCand() const { return ref_.get(); }
51 
52  L1EmParticle* clone() const override { return new L1EmParticle(*this); }
53 
54  int bx() const { return bx_; }
55 
56  // ---------- static member functions --------------------
57 
58  // ---------- member functions ---------------------------
59  void setType(EmType type) { type_ = type; }
60 
61  void setBx(int bx) { bx_ = bx; }
62 
63  private:
64  // L1EmParticle(const L1EmParticle&); // stop default
65 
66  // const L1EmParticle& operator=(const L1EmParticle&); // stop default
67 
68  // ---------- member data --------------------------------
71  int bx_;
72  };
73 } // namespace l1extra
74 
75 #endif
const edm::Ref< L1GctEmCandCollection > & gctEmCandRef() const
Definition: L1EmParticle.h:48
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: LeafCandidate.h:25
edm::Ref< L1GctEmCandCollection > ref_
Definition: L1EmParticle.h:70
void setBx(int bx)
Definition: L1EmParticle.h:61
Level-1 Trigger EM candidate at output of GCT.
Definition: L1GctEmCand.h:21
const LorentzVector & p4() const final
four-momentum Lorentz vector
L1EmParticle * clone() const override
returns a clone of the Candidate object
Definition: L1EmParticle.h:52
EmType type() const
Definition: L1EmParticle.h:46
const L1GctEmCand * gctEmCand() const
Definition: L1EmParticle.h:50
math::XYZTLorentzVector LorentzVector
~L1EmParticle() override
Definition: L1EmParticle.h:43
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
void setType(EmType type)
Definition: L1EmParticle.h:59