97 #ifdef G4ANALYSIS_USE_ROOT 
  102         if(particleType == 
"nucleus") {
 
  111             analysisMgr->FillFragmentTuple(A, Z, energy, posX, posY, posZ);
 
  112         } 
else if(particleName == 
"proton") {   
 
  120         G4String secondaryParticleName =  def -> GetParticleName();  
 
  125         if(secondaryParticleName == 
"proton") {
 
  126             analysis->hydrogenEnergy(secondaryParticleKineticEnergy / 
MeV);
 
  128         if(secondaryParticleName == 
"deuteron") {
 
  129             analysis->hydrogenEnergy((secondaryParticleKineticEnergy/2) / 
MeV);
 
  131         if(secondaryParticleName == 
"triton") {
 
  132             analysis->hydrogenEnergy((secondaryParticleKineticEnergy/3) / 
MeV);
 
  134         if(secondaryParticleName == 
"alpha") {
 
  135             analysis->heliumEnergy((secondaryParticleKineticEnergy/4) / 
MeV);
 
  137         if(secondaryParticleName == 
"He3"){
 
  138             analysis->heliumEnergy((secondaryParticleKineticEnergy/3) / 
MeV);           
 
  147     if ((aStep -> GetTrack() -> GetTrackID() == 1) &&
 
  148             (aStep -> GetTrack() -> GetVolume() -> GetName() == 
"PhantomPhys") &&
 
  149             (aStep -> GetPostStepPoint() -> GetProcessDefinedStep() != NULL))
 
  151         G4String process = aStep -> GetPostStepPoint() -> 
 
  152             GetProcessDefinedStep() -> GetProcessName();
 
  154         if ((process == 
"Transportation") || (process == 
"StepLimiter")) {;}
 
  157             if ((process == 
"msc") || (process == 
"hLowEIoni") || (process == 
"hIoni")) 
 
  165                 if ( (process != 
"LElastic") && (process != 
"ProtonInelastic") && (process != 
"hElastic") )
 
  166                     G4cout << 
"Warning! Unknown proton process: "<< process << 
G4endl;
 
  179     G4TrackVector* fSecondary = steppingManager -> GetfSecondary();
 
  181     for(
size_t lp1=0;lp1<(*fSecondary).size(); lp1++)
 
  183         G4String volumeName = (*fSecondary)[lp1] -> GetVolume() -> GetName(); 
 
  185         if (volumeName == 
"phantomPhys")
 
  187 #ifdef G4ANALYSIS_USE_ROOT    
  188             G4String secondaryParticleName =  (*fSecondary)[lp1]->GetDefinition() -> GetParticleName();  
 
  189             G4double secondaryParticleKineticEnergy =  (*fSecondary)[lp1] -> GetKineticEnergy();     
 
  193             if (secondaryParticleName == 
"e-")
 
  194                 analysis -> electronEnergyDistribution(secondaryParticleKineticEnergy/
MeV);
 
  196             if (secondaryParticleName == 
"gamma")
 
  197                 analysis -> gammaEnergyDistribution(secondaryParticleKineticEnergy/
MeV);
 
  199             if (secondaryParticleName == 
"deuteron")
 
  200                 analysis -> deuteronEnergyDistribution(secondaryParticleKineticEnergy/
MeV);
 
  202             if (secondaryParticleName == 
"triton")
 
  203                 analysis -> tritonEnergyDistribution(secondaryParticleKineticEnergy/
MeV);
 
  205             if (secondaryParticleName == 
"alpha")
 
  206                 analysis -> alphaEnergyDistribution(secondaryParticleKineticEnergy/
MeV);
 
  208             G4double z = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetPDGCharge();
 
  211                 G4int a = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetBaryonNumber();
 
  212                 G4int electronOccupancy = (*fSecondary)[lp1] ->  GetDynamicParticle() -> GetTotalOccupancy(); 
 
  216                 analysis -> genericIonInformation(a, z, electronOccupancy, secondaryParticleKineticEnergy/
MeV);
 
void SetTrackStatus(const G4TrackStatus aTrackStatus)
 
G4ParticleDefinition * GetDefinition() const 
 
static HadrontherapyAnalysisManager * GetInstance()
Get the pointer to the analysis manager. 
 
HadrontherapySteppingAction(HadrontherapyRunAction *)
 
const G4ThreeVector & GetPosition() const 
 
HadrontherapyRunAction * runAction
 
const G4String & GetParticleName() const 
 
void UserSteppingAction(const G4Step *)
 
G4double GetKineticEnergy() const 
 
G4GLOB_DLL std::ostream G4cout
 
const G4String & GetName() const 
 
G4SteppingManager * fpSteppingManager
 
const G4String & GetParticleType() const 
 
static const G4double A[nN]
 
std::vector< G4Track * > G4TrackVector
 
G4double energy(const ThreeVector &p, const G4double m)
 
G4VPhysicalVolume * GetVolume() const 
 
A class for connecting the simulation to an analysis package. 
 
G4Track * GetTrack() const 
 
G4double GetPDGCharge() const 
 
G4int GetBaryonNumber() const 
 
~HadrontherapySteppingAction()