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 
15 
16 
18 public:
19 #if defined( __GXX_EXPERIMENTAL_CXX0X__)
20  using MuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit>;
21  using ConstMuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit const>;
22 
23 #else
26 #endif
27 
28 // typedef ReferenceCountingPointer<MuonTransientTrackingRecHit> MuonRecHitPointer;
29 // typedef ConstReferenceCountingPointer<MuonTransientTrackingRecHit> ConstMuonRecHitPointer;
30  typedef std::vector<MuonRecHitPointer> MuonRecHitContainer;
31  typedef std::vector<ConstMuonRecHitPointer> ConstMuonRecHitContainer;
32 
34 
36  virtual LocalVector localDirection() const;
37 
39  virtual GlobalVector globalDirection() const;
40 
42  virtual LocalError localDirectionError() const;
43 
45  virtual GlobalError globalDirectionError() const;
46 
47  virtual AlgebraicSymMatrix parametersError() const override;
48 
50  virtual double chi2() const;
51 
53  virtual int degreesOfFreedom() const;
54 
56  bool isDT() const;
57 
59  bool isCSC() const;
60 
62  bool isRPC() const;
63 
65  virtual ConstRecHitContainer transientHits() const override;
66 
68 
69  static RecHitPointer build( const GeomDet * geom, const TrackingRecHit* rh) {
70  return RecHitPointer( new MuonTransientTrackingRecHit(geom, rh));
71  }
72 
74  return MuonRecHitPointer(new MuonTransientTrackingRecHit(geom, rh));
75  }
76 
77  void invalidateHit();
78 
79  private:
80 
81  friend class kkkwwwxxxyyyzzz; //just to avoid the compiler warning...
82 
85 
88 
89  virtual MuonTransientTrackingRecHit* clone() const override {
90  return new MuonTransientTrackingRecHit(*this);
91  }
92 
93 };
94 #endif
95 
virtual int degreesOfFreedom() const
Degrees of freedom for segments, else 0.
bool isCSC() const
if this rec hit is a CSC rec hit
MuonTransientTrackingRecHit * MuonRecHitPointer
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)
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< TrackingRecHit const > RecHitPointer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
virtual LocalError localDirectionError() const
Error on the local direction.
virtual ConstRecHitContainer transientHits() const override
return the sub components of this transient rechit
virtual AlgebraicSymMatrix parametersError() const override
MuonTransientTrackingRecHit const * ConstMuonRecHitPointer
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
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;.