KaliVeda
Toolkit for HIC analysis
KVRangeTableGeoNavigator.h
1 #ifndef __KVRANGETABLEGEONAVIGATOR_H
2 #define __KVRANGETABLEGEONAVIGATOR_H
3 
4 #include "TVirtualGeoTrack.h"
5 #include "KVGeoNavigator.h"
6 #include "KVIonRangeTable.h"
7 
56 
61 
62  void InitialiseTrack(KVNucleus* part, TVector3* TheOrigin);
64  {
67  fTrackTime += 1;
68  }
69 
70 public:
73  fTrackTime(0.)
74  {}
77  {
78  fCutOffEnergy = e;
79  }
81  {
82  return fCutOffEnergy;
83  }
84 
85  virtual void ParticleEntersNewVolume(KVNucleus*);
86  virtual void PropagateParticle(KVNucleus*, TVector3* TheOrigin = 0);
87 
89  {
91  return fRangeTable->CheckIon(Z, A);
92  }
93 
94  ClassDef(KVRangeTableGeoNavigator, 0) //Propagate particles through a geometry and calculate their energy losses
95 };
96 
97 #endif
int Int_t
ROOT::R::TRInterface & r
#define e(i)
bool Bool_t
double Double_t
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t g
Base class for propagation of particles through array geometry.
Abstract base class for calculation of range & energy loss of charged particles in matter.
virtual Bool_t CheckIon(Int_t, Int_t) const
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Propagate particles through array geometry calculating energy losses.
KVRangeTableGeoNavigator(TGeoManager *g, KVIonRangeTable *r)
void InitialiseTrack(KVNucleus *part, TVector3 *TheOrigin)
Start a new track to visualise trajectory of nucleus through the array.
Double_t GetCutOffKEForPropagation() const
void SetCutOffKEForPropagation(Double_t e)
Bool_t CheckIonForRangeTable(Int_t Z, Int_t A)
TVirtualGeoTrack * fCurrentTrack
current track of nucleus being propagated
Double_t fCutOffEnergy
cut-off KE in MeV below which we stop propagation
void AddPointToCurrentTrack(Double_t x, Double_t y, Double_t z)
virtual void ParticleEntersNewVolume(KVNucleus *)
virtual void PropagateParticle(KVNucleus *, TVector3 *TheOrigin=0)
We start a new track to represent the particle's trajectory through the array.
Double_t fTrackTime
track "clock"
virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_t t)=0
Double_t y[n]
Double_t x[n]