52 }; //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.
90 TVector3 zero_vector; //a shorthand way to return a vectorial zero.
91//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.
92//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
291 }; //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.
341 }; //various constants to match internal representation to the familiar formula. Adding in these factors suggests I should switch to a unitful calculation throughout...
349//class to hold an up-to-six dimensional array of whatever T is. Any indices not used are flattened. This should probably be replaced with sets of TH3s...