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 
18 
20 public:
21 #if defined( __GXX_EXPERIMENTAL_CXX0X__)
22  using MuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit>;
23  using ConstMuonRecHitPointer = std::shared_ptr<MuonTransientTrackingRecHit const>;
24 
25 #else
28 #endif
29 
30 // typedef ReferenceCountingPointer<MuonTransientTrackingRecHit> MuonRecHitPointer;
31 // typedef ConstReferenceCountingPointer<MuonTransientTrackingRecHit> ConstMuonRecHitPointer;
32  typedef std::vector<MuonRecHitPointer> MuonRecHitContainer;
33  typedef std::vector<ConstMuonRecHitPointer> ConstMuonRecHitContainer;
34 
36 
38  virtual LocalVector localDirection() const;
39 
41  virtual GlobalVector globalDirection() const;
42 
44  virtual LocalError localDirectionError() const;
45 
47  virtual GlobalError globalDirectionError() const;
48 
49  virtual AlgebraicSymMatrix parametersError() const override;
50 
52  virtual double chi2() const;
53 
55  virtual int degreesOfFreedom() const;
56 
58  bool isDT() const;
59 
61  bool isCSC() const;
62 
64  bool isGEM() const;
65 
67  bool isRPC() const;
68 
70  virtual ConstRecHitContainer transientHits() const override;
71 
73 
74  static RecHitPointer build( const GeomDet * geom, const TrackingRecHit* rh) {
75  return RecHitPointer( new MuonTransientTrackingRecHit(geom, rh));
76  }
77 
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.
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)
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< 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;.