PandaRoot
PlanarMeasurement.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_PlanarMeasurement_h
24 #define genfit_PlanarMeasurement_h
25 
26 #include "AbsMeasurement.h"
27 #include "AbsHMatrix.h"
28 #include "MeasurementOnPlane.h"
29 
30 namespace genfit {
31 
32 class AbsTrackRep;
33 
44 
45  public:
46  PlanarMeasurement(int nDim = 1);
47  PlanarMeasurement(const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint);
48 
49  virtual ~PlanarMeasurement() { ; }
50 
51  virtual AbsMeasurement *clone() const { return new PlanarMeasurement(*this); }
52 
53  int getPlaneId() const { return planeId_; }
54 
55  virtual SharedPlanePtr constructPlane(const StateOnPlane &state) const;
56 
57  virtual std::vector<MeasurementOnPlane *> constructMeasurementsOnPlane(const StateOnPlane &state) const;
58 
59  virtual const AbsHMatrix *constructHMatrix(const AbsTrackRep *) const;
60 
61  virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId = -1)
62  {
63  physicalPlane_ = physicalPlane;
64  planeId_ = planeId;
65  }
66 
73  void setStripV(bool v = true) { stripV_ = v; }
74 
75  protected:
77  int planeId_; // planeId id is -1 per default
78  bool stripV_;
79 
80  public:
81  ClassDef(PlanarMeasurement, 1)
82 };
83 
84 } /* End of namespace genfit */
87 #endif // genfit_PlanarMeasurement_h
virtual AbsMeasurement * clone() const
Deep copy ctor for polymorphic class.
Abstract base class for a track representation.
Definition: AbsTrackRep.h:62
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:36
Measurement class implementing a planar hit geometry (1 or 2D).
__m128 v
Definition: P4_F32vec4.h:3
virtual std::vector< MeasurementOnPlane * > constructMeasurementsOnPlane(const StateOnPlane &state) const
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:44
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:49
void setStripV(bool v=true)
Use if the coordinate for 1D hits measured in V direction.
virtual SharedPlanePtr constructPlane(const StateOnPlane &state) const
virtual const AbsHMatrix * constructHMatrix(const AbsTrackRep *) const
Contains the measurement and covariance in raw detector coordinates.
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
int planeId_
This is persistent, but &#39;!&#39; makes ROOT shut up.
Matrix inversion tools.
Definition: AbsBField.h:28
virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId=-1)