File indexing completed on 2025-12-16 09:29:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef STCyclotronRun_h
0030 #define STCyclotronRun_h 1
0031
0032 #include "G4Run.hh"
0033 #include "globals.hh"
0034 #include <map>
0035 #include <fstream>
0036
0037
0038
0039
0040
0041
0042 class STCyclotronRun : public G4Run
0043 {
0044 public:
0045
0046 STCyclotronRun();
0047 virtual ~STCyclotronRun();
0048
0049 virtual void Merge(const G4Run*);
0050 virtual void EndOfRun(G4double);
0051
0052 public:
0053
0054
0055 void EnergyDepositionTarget(G4double);
0056 void EnergyDepositionFoil(G4double);
0057 void CountParticlesTarget();
0058
0059
0060
0061
0062 void SetTargetVolume(G4double);
0063 void SetTargetDiameter(G4double);
0064 void SetTargetThickness(G4double);
0065
0066 void SetFoilVolume(G4double);
0067 void SetFoilThickness(G4double);
0068
0069
0070 void SetIrradiationTime(G4double);
0071 void SetBeamName(G4String);
0072 void SetBeamEnergy(G4double);
0073 void SetBeamCurrent(G4double);
0074
0075
0076 void SetPrimariesPerEvent(G4int);
0077 void SetTimePerEvent(G4double);
0078
0079 void StoreIsotopeID(G4int, G4String);
0080 std::map<G4int, G4String> GetIsotopeID();
0081 void ParticleParent(G4String,G4String);
0082
0083
0084
0085 void PrimaryIsotopeCountTarget(G4String, G4double);
0086 void CountStableIsotopes(G4String);
0087 void DecayIsotopeCountTarget(G4String, G4String, G4double);
0088
0089
0090 void ParticleCountTarget(G4String);
0091
0092
0093 private:
0094
0095
0096 G4double fTotalEnergyDepositTarget;
0097 G4double fTotalEnergyDepositFoil;
0098 G4int fParticleTarget;
0099
0100
0101 std::map<G4String,G4int> fPrimaryIsotopeCountTarget;
0102 std::map<G4String,G4double> fPrimaryIsotopeTimeTarget;
0103 std::map<G4String,G4int> fParticleCountTarget;
0104 std::map<G4String,G4double> fDecayIsotopeTimeTarget;
0105 std::map<G4String,G4String> fDecayIsotopeCountTarget;
0106 std::map<G4String,G4String> fParticleParent;
0107 std::map<G4String,G4int> fStableIsotopeCountTarget;
0108 std::map<G4String,G4String> fStableIsotopeMumTarget;
0109
0110
0111 std::map<G4int,G4String> fIsotopeIDTarget;
0112
0113
0114
0115
0116
0117 G4double fTargetThickness;
0118 G4double fTargetDiameter;
0119 G4double fFoilThickness;
0120 G4double fTargetVolume;
0121 G4double fFoilVolume;
0122
0123 G4int fPrimariesPerEvent;
0124 G4double fTimePerEvent;
0125
0126 G4String fBeamName;
0127 G4double fBeamCurrent;
0128 G4double fBeamEnergy;
0129
0130
0131 std::ofstream fOutPut;
0132 std::ofstream fOutPut1;
0133 std::ofstream fOutPut2;
0134 std::ofstream fOutPut3;
0135 std::ofstream fOutPut4;
0136
0137
0138 };
0139
0140 #endif
0141
0142