Belle II Software  release-08-01-10
FullMeasurement.h
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_FullMeasurement_h
24 #define genfit_FullMeasurement_h
25 
26 #include "AbsMeasurement.h"
27 #include "AbsHMatrix.h"
28 #include "MeasurementOnPlane.h"
29 
30 
31 namespace genfit {
32 
33 class AbsTrackRep;
34 
43 
44  public:
45  FullMeasurement(int nDim = 5);
46  FullMeasurement(const MeasuredStateOnPlane&, int detId = -1, int hitId = -1, TrackPoint* trackPoint = nullptr);
47 
48  virtual ~FullMeasurement() {;}
49 
50  virtual AbsMeasurement* clone() const override {return new FullMeasurement(*this);}
51 
52  virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const override;
53 
54  virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const override;
55 
56  virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const override;
57 
58  protected:
59  SharedPlanePtr plane_;
60 
61  public:
62 
63  ClassDefOverride(FullMeasurement,1)
64 
65 };
66 
67 } /* End of namespace genfit */
70 #endif // genfit_FullMeasurement_h
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:37
Contains the measurement and covariance in raw detector coordinates.
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
Measurement class implementing a measurement of all track parameters.
virtual SharedPlanePtr constructPlane(const StateOnPlane &state) const override
Construct (virtual) detector plane (use state's AbsTrackRep).
virtual AbsMeasurement * clone() const override
Deep copy ctor for polymorphic class.
virtual std::vector< MeasurementOnPlane * > constructMeasurementsOnPlane(const StateOnPlane &state) const override
Construct MeasurementOnPlane on plane of the state and wrt the states TrackRep.
virtual const AbsHMatrix * constructHMatrix(const AbsTrackRep *) const override
Returns a new AbsHMatrix object.
#StateOnPlane with additional covariance matrix.
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:47
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:46
Defines for I/O streams used for error and debug printing.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.