PandaRoot
PlanarMeasurement.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
35 #ifndef genfit_PlanarMeasurement_h
36 #define genfit_PlanarMeasurement_h
37 
38 #include "AbsMeasurement.h"
39 #include "AbsHMatrix.h"
40 #include "MeasurementOnPlane.h"
41 
42 namespace genfit {
43 
44 class AbsTrackRep;
45 
56 
57  public:
58  PlanarMeasurement(int nDim = 1);
59  PlanarMeasurement(const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint);
60 
61  virtual ~PlanarMeasurement() { ; }
62 
63  virtual AbsMeasurement *clone() const { return new PlanarMeasurement(*this); }
64 
65  int getPlaneId() const { return planeId_; }
66 
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  virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId = -1)
74  {
75  physicalPlane_ = physicalPlane;
76  planeId_ = planeId;
77  }
78 
85  void setStripV(bool v = true) { stripV_ = v; }
86 
87  protected:
89  int planeId_; // planeId id is -1 per default
90  bool stripV_;
91 
92  public:
93  ClassDef(PlanarMeasurement, 1)
94 };
95 
96 } /* End of namespace genfit */
99 #endif // genfit_PlanarMeasurement_h
virtual AbsMeasurement * clone() const
Deep copy ctor for polymorphic class.
Abstract base class for a track representation.
Definition: AbsTrackRep.h:74
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:48
Measurement class implementing a planar hit geometry (1 or 2D).
__m128 v
Definition: P4_F32vec4.h:15
virtual std::vector< MeasurementOnPlane * > constructMeasurementsOnPlane(const StateOnPlane &state) const
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:56
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:61
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:40
virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId=-1)