GFWireHitPolicy.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert
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 */
19 /** @addtogroup genfit
20  * @{ */
21 
22 
23 
24 #ifndef GFWIREHITPOLICY_H
25 #define GFWIREHITPOLICY_H
26 
27 #include "TMatrixT.h"
28 #include "TObject.h"
29 
31 
32 namespace genf {
33 
34 class GFAbsRecoHit;
35 class GFAbsTrackRep;
36 
37 /** @brief policy class for hits in wire detectors (STT and DCH)
38  * which do not measure the coordinate along the wire
39  * @author Christian H&ouml;ppner (Technische Universit&auml;t M&uuml;nchen, original author)
40  * @author Lia Lavezzi (INFN Pavia, original author)
41  * @author Sebastian Neubert (Technische Universit&auml;t M&uuml;nchen, original author)
42  *
43  * This policy is not valid for any kind of plane orientation
44  * choice: to use it you MUST choose a plane described by u
45  * and v axes with v coincident with the wire (and u orthogonal
46  * to it, obviously).
47  * The hit will be described by 7 coordinates:
48  * w_x1, w_y1, w_z1, w_x2, w_y2, w_z2, rdrift
49  * where w_ji (with j = x, y, z and i = 1, 2) are the wire
50  * extremities coordinates; rdrift = distance from the wire (u
51  * coordinate in the plane)
52  *
53  */
54 class GFWireHitPolicy : public TObject {
55 public:
56 
57 
59 
60  // Operations ----------------------
61  /** @brief Get detector plane
62  * Calls GFAbsTrackRep::extrapolateToLine for POCA.
63  */
65 
66  /** @brief Hit coordinates in detector plane.
67  */
68  TMatrixT<Double_t> hitCoord(GFAbsRecoHit*,const GFDetPlane&);
69 
70  /** @brief Hit covariances in detector plane.
71  */
72  TMatrixT<Double_t> hitCov(GFAbsRecoHit*,const GFDetPlane&);
73 
74  /** @brief Check if the detector plane is valid
75  */
76  void checkPlane(GFAbsRecoHit*,const GFDetPlane&);
77 
78  virtual ~GFWireHitPolicy(){;}
79 
80  double getMaxDistance(){return fMaxdistance;}
81  void setMaxDistance(double d){fMaxdistance=d;}
82 
83  const std::string& getName(){return fPolicyName;}
84  private:
85  static const std::string fPolicyName;
86 
87 
88  // Private Data Members ------------
90  double fMaxdistance;
91  // Private Methods -----------------
92 
93  // public:
94  //ClassDef(GFWireHitPolicy,1);
95 
96 };
97 } // namespace genf
98 #endif
99 
100 /** @} */
const std::string & getName()
std::string string
Definition: nybbler.cc:12
Generic Interface to magnetic fields in GENFIT.
Definition: GFAbsBField.h:35
const GFDetPlane & detPlane(GFAbsRecoHit *, GFAbsTrackRep *)
Get detector plane Calls GFAbsTrackRep::extrapolateToLine for POCA.
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:83
void checkPlane(GFAbsRecoHit *, const GFDetPlane &)
Check if the detector plane is valid.
policy class for hits in wire detectors (STT and DCH) which do not measure the coordinate along the w...
TMatrixT< Double_t > hitCoord(GFAbsRecoHit *, const GFDetPlane &)
Hit coordinates in detector plane.
void setMaxDistance(double d)
TMatrixT< Double_t > hitCov(GFAbsRecoHit *, const GFDetPlane &)
Hit covariances in detector plane.
static const std::string fPolicyName