GENFIT  Rev:NoNumberAvailable
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
WireMeasurementNew.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  2014 Ludwig-Maximimilians-Universität München
3  Authors: Tobias Schlüter
4 
5  This file is part of GENFIT.
6 
7  GENFIT is free software: you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published
9  by the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  GENFIT is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
19 */
24 #ifndef genfit_WireMeasurementNew_h
25 #define genfit_WireMeasurementNew_h
26 
27 #include "AbsMeasurement.h"
28 #include "AbsHMatrix.h"
29 #include "MeasurementOnPlane.h"
30 
31 
32 namespace genfit {
33 
57 
58  public:
60  WireMeasurementNew(double driftDistance, double driftDistanceError, const TVector3& endPoint1, const TVector3& endPoint2, int detId, int hitId, TrackPoint* trackPoint);
61 
62  virtual ~WireMeasurementNew() {;}
63 
64  virtual WireMeasurementNew* clone() const {return new WireMeasurementNew(*this);}
65 
66  virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const;
67 
78  virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const;
79 
80  virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const;
81 
84  void setWireEndPoints(const TVector3& endPoint1, const TVector3& endPoint2);
85 
89  void setMaxDistance(double d){maxDistance_ = d;}
97  void setLeftRightResolution(int lr);
98 
99  virtual bool isLeftRigthMeasurement() const {return true;}
100  double getMaxDistance(){return maxDistance_;}
101  int getLeftRightResolution() const {return leftRight_;}
102 
103  protected:
104 
105  double wireEndPoint1_[3];
106  double wireEndPoint2_[3];
107  double maxDistance_;
108  double leftRight_;
109 
110  public:
111 
112  ClassDef(WireMeasurementNew, 1)
113 
114 };
115 
116 } /* End of namespace genfit */
119 #endif // genfit_WireMeasurementNew_h
virtual SharedPlanePtr constructPlane(const StateOnPlane &state) const
Contains the measurement and covariance in raw detector coordinates.
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
double wireEndPoint2_[3]
Wire end point 1 (X, Y, Z)
virtual const AbsHMatrix * constructHMatrix(const AbsTrackRep *) const
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:37
virtual WireMeasurementNew * clone() const
Deep copy ctor for polymorphic class.
virtual bool isLeftRigthMeasurement() const
Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the co...
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
void setWireEndPoints(const TVector3 &endPoint1, const TVector3 &endPoint2)
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:50
virtual std::vector< MeasurementOnPlane * > constructMeasurementsOnPlane(const StateOnPlane &state) const
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:45
Defines for I/O streams used for error and debug printing.
double maxDistance_
Wire end point 2 (X, Y, Z)