26 }; // note that 'OnLowEdge' is qualitatively different from 'OnHighEdge'. Low means there is a non-zero distance between the point and the edge of the bin. High applies even if that distance is exactly zero.
174 }; // define a twin to handle the negative-z drifting. If asked to drift something out of range in z, if the twin flag is set we will ask the twin to do the drifting. Note that the twin does not get linked back in to this side. It is only the follower.
229 }; // various constants to match internal representation to the familiar formula. Adding in these factors suggests I should switch to a unitful calculation throughout...
230// units:
231constfloatcm = 1; // centimeters -- if you change this, check that all the loading functions are properly agnostic.
266 TVector3 zero_vector; // a shorthand way to return a vectorial zero.
267// static constexpr float k=8.987e13;//=1/(4*pi*eps0) in N*cm^2/C^2 in a vacuum. N*cm^2/C units, so that we supply space charge in coulomb units.
268// static constexpr float k_perm=8.987e11;//=1/(4*pi*eps0) in (V*cm)/C in a vacuum. so that we supply space charge in Coulombs, distance in cm, and fields in V/cm