CMS 3D CMS Logo

MuonTransientTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef MuonTransientTrackingRecHit_h
2 #define MuonTransientTrackingRecHit_h
3 
16 
18 
20 public:
21  using MuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit>;
22  using ConstMuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit const>;
23 
24  // typedef ReferenceCountingPointer<MuonTransientTrackingRecHit> MuonRecHitPointer;
25  // typedef ConstReferenceCountingPointer<MuonTransientTrackingRecHit> ConstMuonRecHitPointer;
26  typedef std::vector<MuonRecHitPointer> MuonRecHitContainer;
27  typedef std::vector<ConstMuonRecHitPointer> ConstMuonRecHitContainer;
28 
30 
32  virtual LocalVector localDirection() const;
33 
35  virtual GlobalVector globalDirection() const;
36 
38  virtual LocalError localDirectionError() const;
39 
41  virtual GlobalError globalDirectionError() const;
42 
43  AlgebraicSymMatrix parametersError() const override;
44 
46  virtual double chi2() const;
47 
49  virtual int degreesOfFreedom() const;
50 
52  bool isDT() const;
53 
55  bool isCSC() const;
56 
58  bool isGEM() const;
59 
61  bool isME0() const;
62 
64  bool isRPC() const;
65 
67  ConstRecHitContainer transientHits() const override;
68 
70 
71  static RecHitPointer build(const GeomDet* geom, const TrackingRecHit* rh) {
73  }
74 
76  LogDebug("Muon|RecoMuon|MuonDetLayerMeasurements") << "Getting specificBuild" << std::endl;
78  }
79 
80  void invalidateHit();
81 
82 private:
83  friend class kkkwwwxxxyyyzzz; //just to avoid the compiler warning...
84 
87 
90 
91  MuonTransientTrackingRecHit* clone() const override { return new MuonTransientTrackingRecHit(*this); }
92 };
93 #endif
bool isRPC() const
if this rec hit is a RPC rec hit
virtual LocalError localDirectionError() const
Error on the local direction.
virtual int degreesOfFreedom() const
Degrees of freedom for segments, else 0.
bool isME0() const
if this rec hit is a ME0 rec hit
virtual LocalVector localDirection() const
Direction in 3D for segments, otherwise (0,0,0)
bool isDT() const
if this rec hit is a DT rec hit
MuonTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit *rh)
Construct from a TrackingRecHit and its GeomDet.
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
bool isGEM() const
if this rec hit is a GEM rec hit
bool isCSC() const
if this rec hit is a CSC rec hit
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
virtual GlobalError globalDirectionError() const
Error on the global direction.
ConstRecHitContainer transientHits() const override
return the sub components of this transient rechit
AlgebraicSymMatrix parametersError() const override
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
static MuonRecHitPointer specificBuild(const GeomDet *geom, const TrackingRecHit *rh)
std::vector< MuonRecHitPointer > MuonRecHitContainer
virtual GlobalVector globalDirection() const
Direction in 3D for segments, otherwise (0,0,0)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
FIXME virtual ConstMuonRecHitContainer specificTransientHits() const;.
#define LogDebug(id)
virtual double chi2() const
Chi square of the fit for segments, else 0.
MuonTransientTrackingRecHit * clone() const override