CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonTransientTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef MuonTransientTrackingRecHit_h
2 #define MuonTransientTrackingRecHit_h
3 
17 
19 
20 
22 public:
23  using MuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit>;
24  using ConstMuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit const>;
25 
26 // typedef ReferenceCountingPointer<MuonTransientTrackingRecHit> MuonRecHitPointer;
27 // typedef ConstReferenceCountingPointer<MuonTransientTrackingRecHit> ConstMuonRecHitPointer;
28  typedef std::vector<MuonRecHitPointer> MuonRecHitContainer;
29  typedef std::vector<ConstMuonRecHitPointer> ConstMuonRecHitContainer;
30 
32 
34  virtual LocalVector localDirection() const;
35 
37  virtual GlobalVector globalDirection() const;
38 
40  virtual LocalError localDirectionError() const;
41 
43  virtual GlobalError globalDirectionError() const;
44 
45  virtual AlgebraicSymMatrix parametersError() const override;
46 
48  virtual double chi2() const;
49 
51  virtual int degreesOfFreedom() const;
52 
54  bool isDT() const;
55 
57  bool isCSC() const;
58 
60  bool isGEM() const;
61 
63  bool isME0() const;
64 
66  bool isRPC() const;
67 
69  virtual ConstRecHitContainer transientHits() const override;
70 
72 
73  static RecHitPointer build( const GeomDet * geom, const TrackingRecHit* rh) {
74  return RecHitPointer( new MuonTransientTrackingRecHit(geom, rh));
75  }
76 
78  LogDebug("Muon|RecoMuon|MuonDetLayerMeasurements") << "Getting specificBuild"<<std::endl;
79  return MuonRecHitPointer(new MuonTransientTrackingRecHit(geom, rh));
80  }
81 
82  void invalidateHit();
83 
84  private:
85 
86  friend class kkkwwwxxxyyyzzz; //just to avoid the compiler warning...
87 
90 
93 
94  virtual MuonTransientTrackingRecHit* clone() const override {
95  return new MuonTransientTrackingRecHit(*this);
96  }
97 
98 };
99 #endif
100 
virtual int degreesOfFreedom() const
Degrees of freedom for segments, else 0.
#define LogDebug(id)
bool isCSC() const
if this rec hit is a CSC rec hit
virtual double chi2() const
Chi square of the fit for segments, else 0.
virtual MuonTransientTrackingRecHit * clone() const override
virtual GlobalVector globalDirection() const
Direction in 3D for segments, otherwise (0,0,0)
bool isGEM() const
if this rec hit is a GEM rec hit
virtual GlobalError globalDirectionError() const
Error on the global direction.
bool isRPC() const
if this rec hit is a RPC rec hit
bool isDT() const
if this rec hit is a DT rec hit
virtual LocalVector localDirection() const
Direction in 3D for segments, otherwise (0,0,0)
MuonTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit *rh)
Construct from a TrackingRecHit and its GeomDet.
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
virtual LocalError localDirectionError() const
Error on the local direction.
bool isME0() const
if this rec hit is a ME0 rec hit
virtual ConstRecHitContainer transientHits() const override
return the sub components of this transient rechit
virtual 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
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
FIXME virtual ConstMuonRecHitContainer specificTransientHits() const;.