Auxiliary class for performing Lorentz boosts.  
 More...
#include <JLorentzBoost.hh>
Auxiliary class for performing Lorentz boosts. 
Definition at line 45 of file JLorentzBoost.hh.
 
  
  
      
        
          | JAANET::JLorentzBoost::JLorentzBoost  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | JAANET::JLorentzBoost::JLorentzBoost  | 
          ( | 
          const Boost &  | 
          boost | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | double JAANET::JLorentzBoost::getGamma  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Retrieve gamma factor. 
- Returns
 - gamma factor 
 
Definition at line 70 of file JLorentzBoost.hh.
   72       const double beta2 = this->BetaVector().Mag2();
 
   74       return 1.0 / sqrt(1.0 - beta2);
 
 
 
 
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 85 of file JLorentzBoost.hh.
   87       return static_cast<const Boost&
>(*this)(x4);
 
 
 
 
  
  
      
        
          | void JAANET::JLorentzBoost::operator()  | 
          ( | 
          JVertex3D &  | 
          vertex | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Lorentz boost operator. 
- Parameters
 - 
  
  
 
Definition at line 96 of file JLorentzBoost.hh.
   99       using namespace ROOT::Math;
 
  101       const XYZTVector x0(vertex.getX(), vertex.getY(), vertex.getZ(), vertex.getT() * 
getSpeedOfLight());
 
  102       const XYZTVector x1 = (*this)(x0);
 
  104       const JPosition3D pos1(x1.X(), x1.Y(), x1.Z());
 
  106       vertex.setPosition(pos1);
 
const double getSpeedOfLight()
Get speed of light. 
 
 
 
 
  
  
      
        
          | void JAANET::JLorentzBoost::operator()  | 
          ( | 
          JTrack3E &  | 
          track,  | 
         
        
           | 
           | 
          const double  | 
          mass  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
Lorentz boost operator. 
- Parameters
 - 
  
    | track | track  | 
    | mass | track particle mass  | 
  
   
Definition at line 117 of file JLorentzBoost.hh.
  121       using namespace ROOT::Math;
 
  125       const XYZTVector x0(track.getX(), track.getY(), track.getZ(), track.getT() * 
getSpeedOfLight());
 
  126       const XYZTVector x1 = (*this)(x0);
 
  128       const PxPyPzEVector p0(Ekin * track.getDX(), Ekin * track.getDY(), Ekin * track.getDZ(), track.getE());
 
  129       const PxPyPzEVector 
p1 = (*this)(p0);
 
  131       const JVector3D pos1(x1.X(), x1.Y(), x1.Z());
 
  132       const JVersor3D dir1(
p1.X(), 
p1.Y(), 
p1.Z());
 
  134       track.setPosition (pos1);
 
  135       track.setDirection(dir1);
 
double getKineticEnergy(const double E, const double m)
Get kinetic energy of particle with given mass. 
 
const double getSpeedOfLight()
Get speed of light. 
 
 
 
 
  
  
      
        
          | 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 147 of file JLorentzBoost.hh.
  151       using namespace ROOT::Math;
 
  160         const PxPyPzEVector p0(Ekin.
x, Ekin.
y, Ekin.
z, track.
E);
 
  161         const PxPyPzEVector 
p1 = (*this)(p0);
 
  164         track.
dir = 
Vec(p1.Px(), p1.Py(), p1.Pz());
 
  178         track.
pos = 
Vec(x0.getX(), x0.getY(), x0.getZ());
 
  180         track.
len = x0.getDistance(x1);
 
double t
track time [ns] (when the particle is at pos ) 
 
double E
Energy [GeV] (either MC truth or reconstructed) 
 
double len() const 
Get length. 
 
bool is_finalstate(const Trk &track)
Test whether given track corresponds to a final state particle. 
 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
 
double getKineticEnergy(const double E, const double m)
Get kinetic energy of particle with given mass. 
 
JPosition3D getPosition(const Vec &pos)
Get position. 
 
double len
length, if applicable [m] 
 
static const int TRK_ST_ININUCLEI
Initial state nuclei (gseagen) 
 
bool is_initialstate(const Trk &track)
Test whether given track corresponds to an initial state particle. 
 
Vec & normalize()
Normalise this vector. 
 
int status
MC status code, see km3net-dataformat/definitions/trkmembers.csv for values. 
 
Vec pos
postion [m] of the track at time t 
 
const double getSpeedOfLight()
Get speed of light. 
 
 
 
 
  
  
      
        
          | void JAANET::JLorentzBoost::operator()  | 
          ( | 
          Hit &  | 
          hit | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Lorentz boost operator. 
N.B.: The time-over-threshold is not boosted.
- Parameters
 - 
  
  
 
Definition at line 191 of file JLorentzBoost.hh.
  196       const double dt = hit.
t - hit.
tdc;
 
  201       hit.
pos = 
Vec(vertex.getX(), vertex.getY(), vertex.getZ());
 
  202       hit.
t   = vertex.getT();
 
unsigned int tdc
hit tdc (=time in ns) 
 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
 
JPosition3D getPosition(const Vec &pos)
Get position. 
 
double getGamma() const 
Retrieve gamma factor. 
 
double t
hit time (from tdc+calibration or MC truth) 
 
 
 
 
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 215 of file JLorentzBoost.hh.
  219       for (
T i = __begin; 
i != __end; ++
i) {
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
 
 
 
  
  
      
        
          | 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 232 of file JLorentzBoost.hh.
  234       (*this)(
event.mc_trks.begin(), 
event.mc_trks.end());
 
  235       (*this)(
event.mc_hits.begin(), 
event.mc_hits.end());
 
  236       (*this)(
event.trks.begin(),    
event.trks.end());
 
  237       (*this)(
event.hits.begin(),    
event.hits.end());      
 
 
 
 
The documentation for this struct was generated from the following file: