19 return vec_of<Length>(p.
vertex);
26 return quantity_of<Energy>(p.
energy);
29 return quantity_of<Time>(p.
time);
51 return quantity_of<Time>(h.
time);
72 return vec_of<Length>(p.
vertex);
82 return quantity_of<Energy>(p.
energy);
85 return quantity_of<Time>(p.
time);
101 return vec_of<Length>(p.
vertex);
107 return vec_of<Momentum>(p.
momentum);
111 return quantity_of<Energy>(p.
energy);
114 return quantity_of<Time>(p.
time);
118 return quantity_of<Length>(p.
ip_pv);
Quantity views over the persisted data classes.
Definition QuantityView.hpp:15
void set_momentum(SHiP::MCParticle &p, Vec3< Momentum > const &v)
Definition QuantityView.hpp:34
Vec3< Length > endpoint(SHiP::SimParticle const &p)
Definition QuantityView.hpp:74
void set_position(SHiP::SimHit &h, Vec3< Length > const &v)
Definition QuantityView.hpp:56
void set_energy_deposit(SHiP::SimHit &h, Energy e)
Definition QuantityView.hpp:62
Length path_length(SHiP::SimHit const &h)
Definition QuantityView.hpp:53
void set_ip_pv(SHiP::RecParticle &p, Length l)
Definition QuantityView.hpp:131
void set_energy(SHiP::MCParticle &p, Energy e)
Definition QuantityView.hpp:37
Energy energy_deposit(SHiP::SimHit const &h)
Definition QuantityView.hpp:47
void set_endpoint(SHiP::SimParticle &p, Vec3< Length > const &v)
Definition QuantityView.hpp:90
Energy energy(SHiP::MCParticle const &p)
Total energy.
Definition QuantityView.hpp:25
Time time(SHiP::MCParticle const &p)
Definition QuantityView.hpp:28
void set_vertex(SHiP::MCParticle &p, Vec3< Length > const &v)
Definition QuantityView.hpp:31
Vec3< Length > position(SHiP::SimHit const &h)
Definition QuantityView.hpp:41
Vec3< Momentum > momentum(SHiP::MCParticle const &p)
Definition QuantityView.hpp:21
Vec3< Length > vertex(SHiP::MCParticle const &p)
Definition QuantityView.hpp:18
void set_path_length(SHiP::SimHit &h, Length l)
Definition QuantityView.hpp:66
Length ip_pv(SHiP::RecParticle const &p)
Impact parameter wrt the primary vertex.
Definition QuantityView.hpp:117
void set_time(SHiP::MCParticle &p, Time t)
Definition QuantityView.hpp:38
std::array< Q, 3 > Vec3
Definition Units.hpp:65
mp_units::quantity< units::ns, double > Time
Definition Units.hpp:57
constexpr double raw(Q q)
Unwrap a scalar quantity to a raw double in Q's canonical unit (bitwise).
Definition Units.hpp:75
mp_units::quantity< units::GeV, double > Energy
Definition Units.hpp:58
mp_units::quantity< units::mm, double > Length
Canonical quantity types: double representation, storage unit baked in.
Definition Units.hpp:56
Monte Carlo particle — input to simulation.
Definition MCParticle.hpp:48
std::array< double, 3 > vertex
Production vertex [mm].
Definition MCParticle.hpp:50
double time
Production time [ns].
Definition MCParticle.hpp:53
std::array< double, 3 > momentum
Momentum (px, py, pz) [GeV/c].
Definition MCParticle.hpp:51
double energy
Total energy [GeV].
Definition MCParticle.hpp:52
Reconstructed particle.
Definition RecParticle.hpp:13
double energy
Initial kinetic energy [GeV].
Definition RecParticle.hpp:21
std::array< double, 3 > vertex
Production vertex [mm].
Definition RecParticle.hpp:17
double ip_pv
IP wrt to the PV (at 0,0,0) [mm].
Definition RecParticle.hpp:24
double time
Production time [ns].
Definition RecParticle.hpp:22
std::array< double, 3 > endpoint
End point [mm].
Definition RecParticle.hpp:18
std::array< double, 3 > momentum
Initial momentum [GeV/c].
Definition RecParticle.hpp:19
Simulation hit from Geant4 sensitive detectors.
Definition SimHit.hpp:9
double energy_deposit
Energy deposited [GeV].
Definition SimHit.hpp:16
std::array< double, 3 > momentum
Momentum at hit [GeV/c].
Definition SimHit.hpp:15
std::array< double, 3 > position
Hit position [mm].
Definition SimHit.hpp:14
double time
Global time [ns].
Definition SimHit.hpp:17
double path_length
Step length [mm].
Definition SimHit.hpp:18
Tracked particle from simulation.
Definition SimParticle.hpp:9
double energy
Initial kinetic energy [GeV].
Definition SimParticle.hpp:16
std::array< double, 3 > momentum
Initial momentum [GeV/c].
Definition SimParticle.hpp:15
std::array< double, 3 > endpoint
End point [mm].
Definition SimParticle.hpp:14
std::array< double, 3 > vertex
Production vertex [mm].
Definition SimParticle.hpp:13
double time
Production time [ns].
Definition SimParticle.hpp:17