All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DetectorPropertiesData.cc
Go to the documentation of this file.
3 
5  DetectorProperties const& properties,
6  double const x_ticks_coefficient,
7  std::vector<std::vector<std::vector<double>>>&& x_ticks_offsets,
8  std::vector<std::vector<double>>&& drift_direction)
9 
10  : fProperties{properties}
11  , fXTicksCoefficient{x_ticks_coefficient}
12  , fXTicksOffsets{move(x_ticks_offsets)}
13  , fDriftDirection{move(drift_direction)}
14 {}
15 
16 double
17 detinfo::DetectorPropertiesData::Efield(unsigned int const planegap) const
18 {
19  return fProperties.Efield(planegap);
20 }
21 
22 double
23 detinfo::DetectorPropertiesData::DriftVelocity(double const efield, double const temperature) const
24 {
25  return fProperties.DriftVelocity(efield, temperature);
26 }
27 
28 double
30 {
31  return fProperties.BirksCorrection(dQdX, Efield());
32 }
33 double
34 detinfo::DetectorPropertiesData::BirksCorrection(double const dQdX, double const EField) const
35 {
36  return fProperties.BirksCorrection(dQdX, EField);
37 }
38 
39 double
41 {
42  return fProperties.ModBoxCorrection(dQdX, Efield());
43 }
44 double
45 detinfo::DetectorPropertiesData::ModBoxCorrection(double const dQdX, double const EField) const
46 {
47  return fProperties.ModBoxCorrection(dQdX, EField);
48 }
49 
50 double
52 {
53  return fProperties.ElectronsToADC();
54 }
55 
56 unsigned int
58 {
59  return fProperties.NumberTimeSamples();
60 }
61 
62 unsigned int
64 {
65  return fProperties.ReadOutWindowSize();
66 }
67 
68 double
70 {
71  return fProperties.ElectronLifetime();
72 }
73 
74 double
75 detinfo::DetectorPropertiesData::Density(double const temperature) const
76 {
77  return fProperties.Density(temperature);
78 }
79 
80 double
82 {
83  return fProperties.Temperature();
84 }
85 
86 double
87 detinfo::DetectorPropertiesData::Eloss(double const mom, double const mass, double const tcut) const
88 {
89  return fProperties.Eloss(mom, mass, tcut);
90 }
91 
92 double
93 detinfo::DetectorPropertiesData::ElossVar(double const mom, double const mass) const
94 {
95  return fProperties.ElossVar(mom, mass);
96 }
97 
98 double
100  int const p,
101  int const t,
102  int const c) const
103 {
104  return (X / (fXTicksCoefficient * fDriftDirection.at(c).at(t)) +
105  fXTicksOffsets.at(c).at(t).at(p));
106 }
107 
108 double
110 {
111  return ConvertXToTicks(X, planeid.Plane, planeid.TPC, planeid.Cryostat);
112 }
113 
114 double
116  int const p,
117  int const t,
118  int const c) const
119 {
120  return (ticks - fXTicksOffsets.at(c).at(t).at(p)) * fXTicksCoefficient *
121  fDriftDirection.at(c).at(t);
122 }
123 
124 double
126  geo::PlaneID const& planeid) const
127 {
128  return ConvertTicksToX(ticks, planeid.Plane, planeid.TPC, planeid.Cryostat);
129 }
130 
131 double
133 {
134  return fProperties.TimeOffsetU();
135 }
136 double
138 {
139  return fProperties.TimeOffsetV();
140 }
141 double
143 {
144  return fProperties.TimeOffsetZ();
145 }
146 
147 double
148 detinfo::DetectorPropertiesData::GetXTicksOffset(int const p, int const t, int const c) const
149 {
150  return fXTicksOffsets.at(c).at(t).at(p);
151 }
152 
153 double
155 {
156  return GetXTicksOffset(planeid.Plane, planeid.TPC, planeid.Cryostat);
157 }
158 
159 double
161 {
162  return fXTicksCoefficient * fDriftDirection.at(c).at(t);
163 }
164 
165 double
167 {
168  return fXTicksCoefficient;
169 }
170 
171 bool
173 {
174  return fProperties.SimpleBoundary();
175 }
double ElossVar(double mom, double mass) const
Energy loss fluctuation ( )
double GetXTicksOffset(int p, int t, int c) const
pdgs p
Definition: selectors.fcl:22
The data type to uniquely identify a Plane.
Definition: geo_types.h:472
double Temperature() const
In kelvin.
CryostatID_t Cryostat
Index of cryostat.
Definition: geo_types.h:212
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo W echo The symbol is a weak symbol that has not been specifically echo tagged as a weak object symbol When a weak defined symbol echo is linked with a normal defined the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo echo The symbol is a stabs symbol in an a out object file In echo this the next values printed are the stabs other echo the stabs desc and the stab type Stabs symbols are echo used to hold debugging information For more echo see *Note or object file format specific echo echo For Mac OS X
double ModBoxCorrection(double dQdX) const
tick ticks
Alias for common language habits.
Definition: electronics.h:78
float Efield
Definition: dedx.py:126
double Efield(unsigned int planegap=0) const
kV/cm
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
double ConvertXToTicks(double X, int p, int t, int c) const
double Density(double temperature=0.) const
Returns argon density at a given temperature.
double DriftVelocity(double efield=0., double temperature=0.) const
cm/us
PlaneID_t Plane
Index of the plane within its TPC.
Definition: geo_types.h:493
double Eloss(double mom, double mass, double tcut) const
Restricted mean energy loss (dE/dx)
double ConvertTicksToX(double ticks, int p, int t, int c) const
double BirksCorrection(double dQdX) const
dQ/dX in electrons/cm, returns dE/dX in MeV/cm.
float mass
Definition: dedx.py:47
DetectorPropertiesData(DetectorProperties const &properties, double x_ticks_coefficient, std::vector< std::vector< std::vector< double >>> &&x_ticks_offsets, std::vector< std::vector< double >> &&drift_direction)
TPCID_t TPC
Index of the TPC within its cryostat.
Definition: geo_types.h:406