76 = std::numeric_limits<double>::lowest();
88 = std::numeric_limits<double>::lowest();
92 Shower(TVector3
const& dcosVtx,
93 TVector3
const& dcosVtxErr,
95 TVector3
const& xyzErr,
96 std::vector< double > TotalEnergy,
97 std::vector< double > TotalEnergyErr,
98 std::vector< double >
dEdx,
108 TVector3
const& dcosVtxErr,
110 TVector3
const& xyzErr,
111 std::vector< double > TotalEnergy,
112 std::vector< double > TotalEnergyErr,
113 std::vector< double >
dEdx,
119 dcosVtx, dcosVtxErr, xyz, xyzErr, TotalEnergy, TotalEnergyErr, dEdx, dEdxErr,
153 const std::vector< double >&
Energy()
const;
154 const std::vector< double >&
EnergyErr()
const;
156 const std::vector< double >&
MIPEnergy()
const;
161 const std::vector< double >&
dEdx()
const;
162 const std::vector< double >&
dEdxErr()
const;
180 static_assert(
InvalidLength < 0.0f,
"Invalid length must be negative!");
void set_start_point_err(const TVector3 &xyz_e)
void set_dedx_err(const std::vector< double > &q)
void set_direction_err(const TVector3 &dir_e)
std::vector< double > fTotalEnergy
Calculated Energy per each plane.
bool has_length() const
Returns whether the shower has a valid length.
std::vector< double > fSigmaTotalMIPEnergy
Calculated Energy per each plane.
const TVector3 & Direction() const
const std::vector< double > & MIPEnergyErr() const
std::vector< double > fSigmadEdx
Calculated dE/dx per each plane.
bool has_open_angle() const
Returns whether the shower has a valid opening angle.
const std::vector< double > & dEdx() const
TVector3 fSigmaXYZstart
uncertainty on initial direction cosines
void set_total_energy(const std::vector< double > &q)
friend bool operator<(const Shower &a, const Shower &b)
constexpr int kBogusI
obviously bogus integer value
std::vector< double > fTotalMIPEnergy
Calculated Energy per each plane.
void set_total_MIPenergy_err(const std::vector< double > &q)
void set_total_energy_err(const std::vector< double > &q)
static constexpr double InvalidLength
The magic constant indicating the invalidity of the shower length variable.
void set_id(const int id)
const std::vector< double > & EnergyErr() const
void set_direction(const TVector3 &dir)
void set_length(const double &l)
const TVector3 & DirectionErr() const
void set_open_angle(const double &a)
TVector3 fDCosStart
direction cosines at start of shower
int fID
Default constructor.
TVector3 fSigmaDCosStart
uncertainty on initial direction cosines
std::vector< double > fdEdx
Calculated dE/dx per each plane.
static constexpr double InvalidOpeningAngle
The magic constant indicating the invalidity of the opening angle variable.
void set_total_best_plane(const int q)
void set_total_MIPenergy(const std::vector< double > &q)
double fOpenAngle
Opening angle [rad].
double fLength
Shower length [cm].
const std::vector< double > & Energy() const
const TVector3 & ShowerStart() const
friend std::ostream & operator<<(std::ostream &stream, Shower const &a)
TVector3 fXYZstart
direction cosines at start of shower
const TVector3 & ShowerStartErr() const
void set_start_point(const TVector3 &xyz)
Collection of Physical constants used in LArSoft.
const std::vector< double > & dEdxErr() const
const std::vector< double > & MIPEnergy() const
Shower(TVector3 const &dcosVtx, TVector3 const &dcosVtxErr, TVector3 const &xyz, TVector3 const &xyzErr, std::vector< double > TotalEnergy, std::vector< double > TotalEnergyErr, std::vector< double > dEdx, std::vector< double > dEdxErr, int bestplane, int id=util::kBogusI)
std::vector< double > fSigmaTotalEnergy
Calculated Energy per each plane.
void set_dedx(const std::vector< double > &q)