51 analysisFileName(
"DoseDistribution"),
62 delete G4AnalysisManager::Instance();
94 man->
CreateH1(
"braggPeak",
"slice, energy", 400, 0., 80);
96 man->
CreateH1(
"h20",
"Secondary protons - slice, energy", 400, 0., 400.);
98 man->
CreateH1(
"h30",
"Secondary neutrons - slice, energy", 400, 0., 400.);
100 man->
CreateH1(
"h40",
"Secondary alpha - slice, energy", 400, 0., 400.);
102 man->
CreateH1(
"h50",
"Secondary gamma - slice, energy", 400, 0., 400.);
104 man->
CreateH1(
"h60",
"Secondary electron - slice, energy", 400, 0., 400.);
106 man->
CreateH1(
"h70",
"Secondary triton - slice, energy", 400, 0., 400.);
108 man->
CreateH1(
"h80",
"Secondary deuteron - slice, energy", 400, 0., 400.);
110 man->
CreateH1(
"h90",
"Secondary pion - slice, energy", 400, 0., 400.);
112 man->
CreateH1(
"h100",
"Energy distribution of secondary electrons", 70, 0., 70.);
114 man->
CreateH1(
"h110",
"Energy distribution of secondary photons", 70, 0., 70.);
116 man->
CreateH1(
"h120",
"Energy distribution of secondary deuterons", 70, 0., 70.);
118 man->
CreateH1(
"h130",
"Energy distribution of secondary tritons", 70, 0., 70.);
120 man->
CreateH1(
"h140",
"Energy distribution of secondary alpha particles", 70, 0., 70.);
122 man->
CreateH1(
"heliumEnergyAfterPhantom",
123 "Energy distribution of secondary helium fragments after the phantom",
126 man->
CreateH1(
"hydrogenEnergyAfterPhantom",
127 "Energy distribution of secondary helium fragments after the phantom",
133 "Kinetic energy by voxel & fragment");
144 "Kinetic energy by voxel of primary");
153 "Energy deposit by voxel & fragment");
164 "Fluence by voxel & fragment");
175 "Let by voxel & fragment");
187 "Energy deposit by slice");
196 "Generic ion information");
234 G4AnalysisManager::Instance()->FillH1(1,slice,energy);
241 G4AnalysisManager::Instance()->FillH1(2,slice,energy);
247 G4AnalysisManager::Instance()->FillH1(3,slice,energy);
253 G4AnalysisManager::Instance()->FillH1(4,slice,energy);
259 G4AnalysisManager::Instance()->FillH1(5,slice,energy);
265 G4AnalysisManager::Instance()->FillH1(6,slice,energy);
271 G4AnalysisManager::Instance()->FillH1(7,slice,energy);
277 G4AnalysisManager::Instance()->FillH1(8,slice,energy);
283 G4AnalysisManager::Instance()->FillH1(9,slice,energy);
289 G4AnalysisManager::Instance()->FillH1(10,energy);
295 G4AnalysisManager::Instance()->FillH1(11,energy);
301 G4AnalysisManager::Instance()->FillH1(12,energy);
307 G4AnalysisManager::Instance()->FillH1(13,energy);
313 G4AnalysisManager::Instance()->FillH1(14,energy);
319 G4AnalysisManager::Instance()->FillH1(15,secondaryParticleKineticEnergy);
325 G4AnalysisManager::Instance()->FillH1(16,secondaryParticleKineticEnergy);
417 G4int electronOccupancy,
void SecondaryDeuteronEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary deuterons.
void FillEnergyDeposit(G4int voxelXId, G4int voxelYId, G4int voxelZId, G4double energyDeposit)
Fill the ntuple with the energy deposit in the phantom.
G4int CreateNtupleIColumn(const G4String &name)
G4bool SetFirstHistoId(G4int firstId)
G4int CreateH1(const G4String &name, const G4String &title, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none", const G4String &binSchemeName="linear")
G4String analysisFileName
void genericIonInformation(G4int, G4double, G4int, G4double)
void tritonEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary tritons originated in the phantom.
A messenger object of this class is created by the AnalysisManager.
void FillVoxelFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double energy, G4double fluence)
void SetVerboseLevel(G4int verboseLevel)
G4int CreateNtuple(const G4String &name, const G4String &title)
void FillKineticFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double kinEnergy)
void hydrogenEnergy(G4double secondaryParticleKineticEnergy)
Energy distribution of the hydrogen (proton, d, t) particles after the phantom.
A class for connecting the simulation to an analysis package.
void SecondaryElectronEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary electrons.
G4bool OpenFile(const G4String &fileName="")
void FillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ)
Energy ntuple.
void SecondaryProtonEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary protons.
void SecondaryPionEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary pions.
G4bool FillNtupleIColumn(G4int id, G4int value)
double A(double temperature)
void FillKineticEnergyPrimaryNTuple(G4int i, G4int j, G4int k, G4double kinEnergy)
Energy by voxel, mass number A and atomic number Z.
void BraggPeak(G4int, G4double)
Fill 1D histogram with the Bragg peak in the phantom.
void FillLetFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double letT, G4double letD)
let ntuple
G4double detectorDistance
G4bool FillNtupleDColumn(G4int id, G4double value)
void SecondaryTritonEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary tritons.
void book()
Book the histograms and ntuples.
void SecondaryNeutronEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary neutrons.
static IORTAnalysisManager * GetInstance()
Get the pointer to the analysis manager.
void gammaEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary gamma originated in the phantom.
void alphaEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary alpha originated in the phantom.
G4bool SetFirstNtupleId(G4int firstId)
void SecondaryAlphaEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary alpha particles.
void flush()
Close the .hbk file with the histograms and the ntuples.
G4double energy(const ThreeVector &p, const G4double m)
IORTAnalysisManager()
Analysis manager is a singleton object (there is only one instance).
void startNewEvent()
Tell the analysis manager that a new event is starting.
void SetAnalysisFileName(G4String)
Set name for the analysis file .root (used by macro)
G4int CreateNtupleDColumn(const G4String &name)
void deuteronEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary deuterons originated in the phantom.
void electronEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary electrons originated in the phantom.
void setGeometryMetaData(G4double, G4double, G4double)
from the detector construction information about the geometry can be written as metadata ...
G4double phantomCenterDistance
void SecondaryGammaEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary gamma.
IORTAnalysisFileMessenger * fMess
void setBeamMetaData(G4double, G4double)
metadata about the beam can be written this way
static IORTAnalysisManager * instance
void heliumEnergy(G4double secondaryParticleKineticEnergy)
Energy distribution of the helium (He3 and alpha) particles after the phantom.