Belle II Software  release-08-01-10
PlanarMeasurement.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_PlanarMeasurement_h
24 #define genfit_PlanarMeasurement_h
25 
26 #include "AbsMeasurement.h"
27 #include "AbsHMatrix.h"
28 #include "MeasurementOnPlane.h"
29 
30 
31 namespace genfit {
32 
33 class AbsTrackRep;
34 
45 
46  public:
47  PlanarMeasurement(int nDim = 1);
48  PlanarMeasurement(const TVectorD& rawHitCoords, const TMatrixDSym& rawHitCov, int detId, int hitId, TrackPoint* trackPoint);
49 
50  virtual ~PlanarMeasurement() {;}
51 
52  virtual AbsMeasurement* clone() const override {return new PlanarMeasurement(*this);}
53 
54  int getPlaneId() const {return planeId_;}
55 
56  virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const override;
57 
58  virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const override;
59 
60  virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const override;
61 
62  virtual void setPlane(const SharedPlanePtr& physicalPlane, int planeId = -1) {physicalPlane_ = physicalPlane; planeId_ = planeId;}
63 
70  void setStripV(bool v = true) {stripV_ = v;}
71 
72  protected:
73  SharedPlanePtr physicalPlane_;
74  int planeId_; // planeId id is -1 per default
75  bool stripV_;
76 
77  public:
78 
79  ClassDefOverride(PlanarMeasurement,1)
80 
81 };
82 
83 } /* End of namespace genfit */
86 #endif // genfit_PlanarMeasurement_h
Contains the measurement and covariance in raw detector coordinates.
Measurement class implementing a planar hit geometry (1 or 2D).
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.
void setStripV(bool v=true)
Use if the coordinate for 1D hits measured in V direction.
virtual const AbsHMatrix * constructHMatrix(const AbsTrackRep *) const override
Returns a new AbsHMatrix object.
int planeId_
This is persistent, but '!' makes ROOT shut up.
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.