Auxiliary class for performing Lorentz boosts.
More...
#include <JLorentzBoost.hh>
Auxiliary class for performing Lorentz boosts.
Definition at line 46 of file JLorentzBoost.hh.
◆ JLorentzBoost() [1/2]
JAANET::JLorentzBoost::JLorentzBoost |
( |
| ) |
|
|
inline |
◆ JLorentzBoost() [2/2]
JAANET::JLorentzBoost::JLorentzBoost |
( |
const Boost & |
boost | ) |
|
|
inline |
◆ getGamma()
double JAANET::JLorentzBoost::getGamma |
( |
| ) |
const |
|
inline |
Retrieve gamma factor.
- Returns
- gamma factor
Definition at line 71 of file JLorentzBoost.hh.
73 const double beta2 = this->BetaVector().Mag2();
75 return 1.0 / sqrt(1.0 - beta2);
◆ operator()() [1/7]
template<class CoordSystem >
LorentzVector<CoordSystem> JAANET::JLorentzBoost::operator() |
( |
const LorentzVector< CoordSystem > & |
x4 | ) |
const |
|
inline |
Lorentz boost operator.
- Parameters
-
- Returns
- boosted 4-vector
Definition at line 86 of file JLorentzBoost.hh.
88 return static_cast<const Boost&
>(*this)(x4);
◆ operator()() [2/7]
void JAANET::JLorentzBoost::operator() |
( |
JVertex3D & |
vertex | ) |
const |
|
inline |
Lorentz boost operator.
- Parameters
-
Definition at line 97 of file JLorentzBoost.hh.
100 using namespace ROOT::Math;
103 const XYZTVector x1 = (*this)(x0);
Data structure for position in three dimensions.
void setPosition(const JVector3D &pos)
Set position.
void setT(const double time)
Set time.
double getY() const
Get y position.
double getZ() const
Get z position.
double getX() const
Get x position.
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
const double getSpeedOfLight()
Get speed of light.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
◆ operator()() [3/7]
void JAANET::JLorentzBoost::operator() |
( |
JTrack3E & |
track, |
|
|
const double |
mass |
|
) |
| const |
|
inline |
Lorentz boost operator.
- Parameters
-
track | track |
mass | track particle mass |
Definition at line 118 of file JLorentzBoost.hh.
122 using namespace ROOT::Math;
127 const XYZTVector x1 = (*this)(x0);
129 const PxPyPzEVector p0(Ekin * track.
getDX(), Ekin * track.
getDY(), Ekin * track.
getDZ(), track.
getE());
130 const PxPyPzEVector
p1 = (*this)(p0);
132 const JVector3D pos1(x1.X(), x1.Y(), x1.Z());
void setDirection(const JDirection3D &dir)
Set direction.
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
void setE(const double E)
Set energy.
double getE() const
Get energy.
Data structure for vector in three dimensions.
Data structure for normalised vector in three dimensions.
double getDY() const
Get y direction.
double getDX() const
Get x direction.
double getDZ() const
Get z direction.
double getKineticEnergy(const Trk &trk)
Get track kinetic energy.
◆ operator()() [4/7]
void JAANET::JLorentzBoost::operator() |
( |
Trk & |
track | ) |
const |
|
inline |
Lorentz boost operator.
N.B.: Only initial and final state tracks are boosted.
- Parameters
-
Definition at line 148 of file JLorentzBoost.hh.
152 using namespace ROOT::Math;
161 const PxPyPzEVector p0(Ekin.
x, Ekin.
y, Ekin.
z, track.
E);
162 const PxPyPzEVector
p1 = (*this)(p0);
179 track.
pos =
Vec(x0.getX(), x0.getY(), x0.getZ());
181 track.
len = x0.getDistance(x1);
bool is_finalstate(const Trk &track)
Test whether given track corresponds to a final state particle.
bool is_initialstate(const Trk &track)
Test whether given track corresponds to an initial state particle.
JPosition3D getPosition(const Vec &pos)
Get position.
int status
MC status code, see km3net-dataformat/definitions/trkmembers.csv for values.
double E
Energy [GeV] (either MC truth or reconstructed)
double t
track time [ns] (when the particle is at pos )
double len
length, if applicable [m]
Vec pos
postion [m] of the track at time t
The Vec class is a straightforward 3-d vector, which also works in pyroot.
double len() const
Get length.
Vec & normalize()
Normalise this vector.
static const int TRK_ST_ININUCLEI
Initial state nuclei (gseagen)
◆ operator()() [5/7]
void JAANET::JLorentzBoost::operator() |
( |
Hit & |
hit | ) |
const |
|
inline |
Lorentz boost operator.
N.B.: The time-over-threshold is not boosted.
- Parameters
-
Definition at line 192 of file JLorentzBoost.hh.
197 const double dt = hit.
t - hit.
tdc;
202 hit.
pos =
Vec(vertex.getX(), vertex.getY(), vertex.getZ());
203 hit.
t = vertex.getT();
unsigned int tdc
hit tdc (=time in ns)
double t
hit time (from tdc+calibration or MC truth)
double getGamma() const
Retrieve gamma factor.
◆ operator()() [6/7]
template<class T >
void JAANET::JLorentzBoost::operator() |
( |
T |
__begin, |
|
|
T |
__end |
|
) |
| const |
|
inline |
Lorentz boost operator.
- Parameters
-
__begin | begin of data |
__end | end of data |
Definition at line 216 of file JLorentzBoost.hh.
220 for (T i = __begin; i != __end; ++i) {
◆ operator()() [7/7]
void JAANET::JLorentzBoost::operator() |
( |
Evt & |
event | ) |
const |
|
inline |
Lorentz boost operator.
N.B.: Intermediate state tracks as well as
the event timestamps and MC-time variable are not boosted.
- Parameters
-
Definition at line 233 of file JLorentzBoost.hh.
235 (*this)(
event.mc_trks.begin(),
event.mc_trks.end());
236 (*this)(
event.mc_hits.begin(),
event.mc_hits.end());
237 (*this)(
event.trks.begin(),
event.trks.end());
238 (*this)(
event.hits.begin(),
event.hits.end());
The documentation for this struct was generated from the following file: