All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GFWirepointHitPolicy.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 GFWIREPOINTHITPOLICY_H
25 #define GFWIREPOINTHITPOLICY_H
26 
27 #include "TMatrixT.h"
28 #include "TObject.h"
29 
31 
32 /** @brief policy class for hits in wire detectors (STT and DCH)
33  * which can measure the coordinate along the wire
34  * @author Christian H&ouml;ppner (Technische Universit&auml;t M&uuml;nchen, original author)
35  * @author Lia Lavezzi (INFN Pavia, original author)
36  * @author Sebastian Neubert (Technische Universit&auml;t M&uuml;nchen, original author)
37  * This policy is not valid for any kind of plane orientation
38  * choice: to use it you MUST choose a plane described by u
39  * and v axes with v coincident with the wire (and u orthogonal
40  * to it, obviously).
41  * The hit will be described by 8 coordinates:
42  * w_x1, w_y1, w_z1, w_x2, w_y2, w_z2, rdrift, zreco
43  * where w_ji (with j = x, y, z and i = 1, 2) are the wire
44  * extremities coordinates; rdrift = distance from the wire (u
45  * coordinate in the plane) and zreco = coordinate along the
46  * wire (in the plane reference frame, v coordinate).
47  *
48  */
49 
50 namespace genf {
51 
52 class GFAbsRecoHit;
53 class GFAbsTrackRep;
54 
55 class GFWirepointHitPolicy : public TObject {
56 public:
57 
58 
60 
61  // Operations ----------------------
62  /** @brief Get detector plane
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 ~GFWirepointHitPolicy(){;}
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  // Private Data Members ------------
89  double fMaxdistance;
90  // Private Methods -----------------
91 
92  // public:
93  // ClassDef(GFWirepointHitPolicy,1);
94 
95 };
96 
97 } // namespace genf
98 #endif
99 
100 /** @} */
const std::string & getName()
const GFDetPlane & detPlane(GFAbsRecoHit *, GFAbsTrackRep *)
Get detector plane.
TMatrixT< Double_t > hitCov(GFAbsRecoHit *, const GFDetPlane &)
Hit covariances in detector plane.
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:83
TMatrixT< Double_t > hitCoord(GFAbsRecoHit *, const GFDetPlane &)
Hit coordinates in detector plane.
static const std::string fPolicyName
void checkPlane(GFAbsRecoHit *, const GFDetPlane &)
Check if the detector plane is valid.