50 IORTAnalysisManager::IORTAnalysisManager() :
51 analysisFileName(
"DoseDistribution"),
62 delete G4AnalysisManager::Instance();
77 analysisFileName = aFileName;
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,
437 detectorDistance = endDetectorPosition;
438 phantomDepth = waterThickness;
439 phantomCenterDistance = phantomCenter;
445 beamEnergy = meanKineticEnergy;
446 energyError = sigmaEnergy;
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)
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")
std::vector< ExP01TrackerHit * > a
void genericIonInformation(G4int, G4double, G4int, G4double)
void tritonEnergyDistribution(G4double secondaryParticleKineticEnergy)
Energy distribution of secondary tritons originated in the phantom.
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.
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
G4bool FillNtupleDColumn(G4int id, G4double value)
void SecondaryTritonEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary tritons.
void SecondaryNeutronEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary neutrons.
static IORTAnalysisManager * GetInstance()
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)
IORTAnalysisFileMessenger(IORTAnalysisManager *amgr)
void startNewEvent()
Tell the analysis manager that a new event is starting.
void SetAnalysisFileName(G4String)
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 ...
void SecondaryGammaEnergyDeposit(G4int slice, G4double energy)
Fill 1D histogram with the energy deposit of secondary gamma.
void setBeamMetaData(G4double, G4double)
metadata about the beam can be written this way
void heliumEnergy(G4double secondaryParticleKineticEnergy)
Energy distribution of the helium (He3 and alpha) particles after the phantom.