FairRoot/PandaRoot
SpacepointMeasurement.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
23 #ifndef genfit_SpacepointMeasurement_h
24 #define genfit_SpacepointMeasurement_h
25 
26 #include "AbsMeasurement.h"
27 #include "AbsHMatrix.h"
28 
29 
30 namespace genfit {
31 
47 
48  public:
49  SpacepointMeasurement(int nDim = 3);
50  SpacepointMeasurement(const TVectorD& rawHitCoords, const TMatrixDSym& rawHitCov, int detId, int hitId, TrackPoint* trackPoint,
51  bool weightedPlaneContruction = true, bool cutCov = true);
52 
53  virtual ~SpacepointMeasurement() {;}
54 
55  virtual AbsMeasurement* clone() const {return new SpacepointMeasurement(*this);}
56 
67  virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const;
68 
69  virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const;
70 
71  virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const;
72 
73  protected:
74  void initG();
75 
76  private:
77 
78  bool weightedPlaneContruction_; // false: use POCA to construct DetPlane. true: Use metric G to construct POCA (default)
79  TMatrixDSym G_;
80  bool cutCov_; // false: project 3D cov onto DetPlane. true: cut 3D cov with DetPlane (default)
81 
82  ClassDef(SpacepointMeasurement,3)
83 };
84 
85 } /* End of namespace genfit */
88 #endif // genfit_SpacepointMeasurement_h
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
virtual const AbsHMatrix * constructHMatrix(const AbsTrackRep *) const
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:37
Class for measurements implementing a space point hit geometry.
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:45
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:50
virtual SharedPlanePtr constructPlane(const StateOnPlane &state) const
Contruct the virtual detector plane.
bool cutCov_
inverse of 3x3 cov
virtual std::vector< MeasurementOnPlane * > constructMeasurementsOnPlane(const StateOnPlane &state) const
Contains the measurement and covariance in raw detector coordinates.
virtual AbsMeasurement * clone() const
Deep copy ctor for polymorphic class.