CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/DataFormats/TrackingRecHit/interface/InvalidTrackingRecHit.h

Go to the documentation of this file.
00001 #ifndef InvalidTrackingRecHit_H
00002 #define InvalidTrackingRecHit_H
00003 
00004 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00005 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00006 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00007 
00008 class InvalidTrackingRecHit : public TrackingRecHit {
00009 public:
00010   typedef TrackingRecHit::Type Type;
00011 
00012   InvalidTrackingRecHit(DetId id, Type type ) : TrackingRecHit(id, type) {}
00013   InvalidTrackingRecHit() : TrackingRecHit(0, TrackingRecHit::missing) {}
00014 
00015   virtual ~InvalidTrackingRecHit() {}
00016   
00017   virtual InvalidTrackingRecHit * clone() const {return new InvalidTrackingRecHit(*this);}
00018   
00019   virtual AlgebraicVector parameters() const;
00020 
00021   virtual AlgebraicSymMatrix parametersError() const;
00022 
00023   virtual AlgebraicMatrix projectionMatrix() const;
00024 
00025   virtual int dimension() const;
00026 
00027   virtual LocalPoint localPosition() const;
00028 
00029   virtual LocalError localPositionError() const;
00030 
00031   virtual std::vector<const TrackingRecHit*> recHits() const;
00032 
00033   virtual std::vector<TrackingRecHit*> recHits();
00034 
00035   virtual bool sharesInput( const TrackingRecHit* other, SharedInputType what) const;
00036 
00037 private:
00038 
00039   void throwError() const;
00040 
00041 };
00042 
00043 #endif