Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:58

0001 #ifndef TrackingRecHit_RecSegment_h
0002 #define TrackingRecHit_RecSegment_h
0003 
0004 /** \class RecSegment
0005  *
0006  * Base class for reconstructed segments.
0007  *  
0008  * In addition to RecHit, it has direction, chi2 and other stuff
0009  *
0010  * \author Stefano Lacaprara - INFN Legnaro <stefano.lacaprara@pd.infn.it>
0011  *
0012  */
0013 
0014 /* Base Class Headers */
0015 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0016 
0017 /* Collaborating Class Declarations */
0018 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0019 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0020 
0021 /* C++ Headers */
0022 
0023 /* ====================================================================== */
0024 
0025 /* Class RecSegment Interface */
0026 
0027 class RecSegment : public TrackingRecHit {
0028 public:
0029   RecSegment(DetId id) : TrackingRecHit(id) {}
0030   RecSegment(TrackingRecHit::id_type id = 0) : TrackingRecHit(id) {}
0031 
0032   /// Destructor
0033   ~RecSegment() override {}
0034 
0035   /// Local direction
0036   virtual LocalVector localDirection() const = 0;
0037 
0038   /// Error on the local direction
0039   virtual LocalError localDirectionError() const = 0;
0040 
0041   /// Chi2 of the segment fit
0042   virtual double chi2() const = 0;
0043 
0044   /// Degrees of freedom of the segment fit
0045   virtual int degreesOfFreedom() const = 0;
0046 
0047   /// Dimension (in parameter space)
0048   int dimension() const override = 0;
0049 };
0050 #endif  // TrackingRecHit_RecSegment_h