19 #include <TLorentzVector.h> 29 fbins = std::vector<int>(4);
41 fbins = std::vector<int>(4);
43 for (Ssiz_t a = 0; a != 4; ++a) {
44 fbins[a] = voxelCalc->AxisToBin(a, coord[a]);
54 fbins = std::vector<int>(4);
99 case 0:
return X();
break;
100 case 1:
return Y();
break;
101 case 2:
return Z();
break;
102 case 3:
return T();
break;
115 output <<
"(" <<
id.X() <<
"," <<
id.Y() <<
"," <<
id.Z() <<
"," <<
id.T() <<
")";
158 LArVoxelID::operator TLorentzVector()
const 160 return TLorentzVector(
X(),
Y(),
Z(),
T());
164 LArVoxelID::operator TVector3()
const 166 return TVector3(
X(),
Y(),
Z());
LArVoxelID(const int x=0, const int y=0, const int z=0, const int t=0)
Expert constructor based on actual bins.
double YBinToAxis(const int value) const
Encapsulates calculation of LArVoxelID and LArVoxel parameters.
auto coord(Vector &v, unsigned int n) noexcept
Returns an object to manage the coordinate n of a vector.
bool operator<(const LArVoxelID &) const
int ZAxisToBin(const double value) const
double operator[](const int) const
virtual ~LArVoxelID()
Destructor.
double TBinToAxis(const int value) const
int XAxisToBin(const double value) const
int TAxisToBin(const double value) const
bool operator==(const LArVoxelID &) const
Test for equality. Handy, but not usually necessary.
friend std::ostream & operator<<(std::ostream &output, const LArVoxelID &)
double XBinToAxis(const int value) const
double ZBinToAxis(const int value) const
Unique identifier for a given LAr voxel.
int YAxisToBin(const double value) const