All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PmaHit3D.cxx
Go to the documentation of this file.
1 /**
2  * @file PmaHit3D.h
3  *
4  * @author D.Stefan and R.Sulej
5  *
6  * @brief Implementation of the Projection Matching Algorithm
7  *
8  * Hit 3D wrapped around recob::Hit. Support for PMA optimizations.
9  * See PmaTrack3D.h file for details.
10  */
11 
15 
17  : fCryo(0)
18  , fTPC(0)
19  , fPlane(0)
20  , fWire(0)
21  , fPeakTime(0)
22  , fAmpl(0)
23  , fArea(0)
24  , fPoint3D(0, 0, 0)
25  , fPoint2D(0, 0)
26  , fProjection2D(0, 0)
27  , fSegFraction(0)
28  , fSigmaFactor(1)
29  , fDx(0)
30  , fEnabled(true)
31  , fOutlier(false)
32  , fParent(0)
33 {}
34 
36  : fHit(src)
37  , fPoint3D(0, 0, 0)
38  , fProjection2D(0, 0)
39  , fSegFraction(0)
40  , fSigmaFactor(1)
41  , fDx(0)
42  , fEnabled(true)
43  , fOutlier(false)
44  , fParent(0) // set only when pushed to track
45 {
46  fCryo = src->WireID().Cryostat;
47  fTPC = src->WireID().TPC;
48  fPlane = src->WireID().Plane;
49  fWire = src->WireID().Wire;
50 
51  fPeakTime = src->PeakTime();
52 
53  fAmpl = src->PeakAmplitude();
54  fArea = src->SummedADC();
55 
57 }
58 
60  unsigned int wire,
61  unsigned int view,
62  unsigned int tpc,
63  unsigned int cryo,
64  float peaktime,
65  float ampl,
66  float area)
67  : fPoint3D(0, 0, 0)
68  , fProjection2D(0, 0)
69  , fSegFraction(0)
70  , fSigmaFactor(1)
71  , fDx(0)
72  , fEnabled(false)
73  , fOutlier(false)
74  , fParent(0) // set only when pushed to track
75 {
76  fCryo = cryo;
77  fTPC = tpc;
78  fPlane = view;
79  fWire = wire;
80 
81  fPeakTime = peaktime;
82 
83  fAmpl = ampl;
84  fArea = area;
85 
87 }
88 
90  : fHit(src.fHit)
91  , fCryo(src.fCryo)
92  , fTPC(src.fTPC)
93  , fPlane(src.fPlane)
94  , fWire(src.fWire)
95  , fPeakTime(src.fPeakTime)
96  , fAmpl(src.fAmpl)
97  , fArea(src.fArea)
98  , fPoint3D(src.fPoint3D)
99  , fPoint2D(src.fPoint2D)
100  , fProjection2D(src.fProjection2D)
101  , fSegFraction(src.fSegFraction)
102  , fSigmaFactor(src.fSigmaFactor)
103  , fDx(src.fDx)
104  , fEnabled(src.fEnabled)
105  , fOutlier(src.fOutlier)
106  , fParent(0) // set only when pushed to track
107 {}
108 
109 double
111 {
112  return pma::Dist2(fPoint2D, fProjection2D);
113 }
unsigned int fCryo
Definition: PmaHit3D.h:185
double Dist2(const TVector2 &v1, const TVector2 &v2)
float fArea
Definition: PmaHit3D.h:186
TVector2 WireDriftToCm(detinfo::DetectorPropertiesData const &detProp, unsigned int wire, float drift, unsigned int plane, unsigned int tpc, unsigned int cryo)
double GetDist2ToProj() const
Definition: PmaHit3D.cxx:110
unsigned int fTPC
Definition: PmaHit3D.h:185
unsigned int fPlane
Definition: PmaHit3D.h:185
float fAmpl
Definition: PmaHit3D.h:186
float fPeakTime
Definition: PmaHit3D.h:186
Implementation of the Projection Matching Algorithm.
Definition of data types for geometry description.
TVector2 fPoint2D
Definition: PmaHit3D.h:189
BEGIN_PROLOG don t mess with this pandoraTrackGausCryoW true
auto const detProp
unsigned int fWire
Definition: PmaHit3D.h:185