Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-10 10:18:05

0001 #pragma once
0002 
0003 #include <TObject.h>
0004 #include <TVector3.h>
0005 
0006 namespace IRT2 {
0007 
0008 class ChargedParticleStep: public TObject {
0009  public:
0010   ChargedParticleStep()/*: m_Length(0.0)*/ {};
0011  ChargedParticleStep(const TVector3 &position, const TVector3 &momentum, double qtime = 0.0/*, double length*/):
0012   m_Position(position), m_Momentum(momentum), m_Time(qtime)/*, m_Length(length)*/ {};
0013   ~ChargedParticleStep() {};
0014 
0015   inline const TVector3 &GetPosition ( void ) const { return m_Position; };
0016   inline const TVector3 &GetMomentum ( void ) const { return m_Momentum; };
0017   inline double GetTime ( void )              const { return m_Time; };
0018   inline       TVector3  GetDirection( void ) const { return m_Momentum.Unit(); };
0019 
0020   // Nodes along the particle trajectory; 
0021  private:
0022   TVector3 m_Position, m_Momentum;
0023   //double m_Length;
0024   double m_Time;
0025 
0026 #ifndef DISABLE_ROOT_IO
0027   ClassDef(ChargedParticleStep, 2);
0028 #endif
0029 };
0030 
0031 } // namespace IRT2