File indexing completed on 2025-01-31 09:21:59
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
0030
0031 #ifndef ParametersParser_h
0032 #define ParametersParser_h 1
0033 #include <string>
0034 class ParametersParser
0035 {
0036 public:
0037 static ParametersParser* Instance();
0038 ~ParametersParser() = default;
0039 void LoadParameters(const std::string &fileName);
0040 std::string GetTLKLambda1() {return TLKLambda1;}
0041 std::string GetTLKLambda2() {return TLKLambda2;}
0042 std::string GetTLKBeta1() {return TLKBeta1;}
0043 std::string GetTLKBeta2() {return TLKBeta2;}
0044 std::string GetTLKEta() {return TLKEta;}
0045 std::string GetTLKdoseMax() {return TLKdoseMax;}
0046 std::string GetTLKdeltaDose() {return TLKdeltaDose;}
0047 std::string GetEMIVLoopLength() {return LEMIVLoopLength;}
0048 std::string GetEMIVNi() {return LEMIVNi;}
0049 std::string GetEMIVNc() {return LEMIVNc;}
0050 std::string GetEMIVNDSB() {return LEMIVNDSB;}
0051 std::string GetEMIVFunrej() {return LEMIVFunrej;}
0052 std::string GetEMIVTFast() {return LEMIVTfast;}
0053 std::string GetEMIVTSlow() {return LEMIVTslow;}
0054 std::string GetLEMtimeMax() {return LEMIVtimeMax;}
0055 std::string GetLEMdeltaTime() {return LEMIVdeltaTime;}
0056 std::string GetBELOVNirrep() {return BELOVNirrep;}
0057 std::string GetBELOVDz() {return BELOVDz;}
0058 std::string GetThresholdE() {return fThresholdE;}
0059 std::string GetProbabilityForIndirectSB() {return fProbabilityForIndirectSB;}
0060 std::string GetParticleName() {return fParticleName;}
0061 float GetParticleEnergy() {return fParticleEnergy;}
0062 std::string GetEnergyUnit() {return fEnergyUnit;}
0063 std::string GetEndTimeForChemReactions() {return fEndTimeForChemReactions;}
0064 int GetNumberOfParticles() {return fNumberOfParticles;}
0065 int GetBpForDSB() {return BpForDSB;}
0066 bool UseTLK();
0067 bool UseLEMIV();
0068 bool UseBelov();
0069 bool WannaLoadDamagesFromSDD() {return fLoadDamagesFromSDD;}
0070 std::string GetOutputName() {return fOutputName;};
0071 std::string GetSDDFileName() {return fSDDfileName;};
0072 std::string GetCellNucleusName() {return fCellNucleusName;};
0073 int GetUnitTypeOfNormalization() {return fUnitOfNormalization;}
0074 bool WannaSkipScanningIndirectDamage() {return fSkipScanningIndirectDamage;}
0075 private:
0076 explicit ParametersParser();
0077 static ParametersParser* fInstance;
0078 std::string fOutputName{"Output.dat"};
0079 std::string fSDDfileName{""};
0080 std::string fCellNucleusName{"Undefined"};
0081 std::string fThresholdE{""};
0082 std::string fProbabilityForIndirectSB{""};
0083
0084 int BpForDSB{0};
0085
0086 std::string useTLK{"true"};
0087
0088 std::string TLKLambda1{""};
0089
0090 std::string TLKLambda2{""};
0091
0092 std::string TLKBeta1{""};
0093
0094 std::string TLKBeta2{""};
0095
0096 std::string TLKEta{""};
0097 std::string TLKdoseMax{""}, TLKdeltaDose{""};
0098
0099
0100 std::string useLEMIV{"true"};
0101 std::string LEMIVLoopLength{""};
0102
0103 std::string LEMIVNi{""};
0104
0105 std::string LEMIVNc{""};
0106
0107 std::string LEMIVNDSB{""};
0108 std::string LEMIVFunrej{""};
0109
0110 std::string LEMIVTfast{""};
0111 std::string LEMIVTslow{""};
0112 std::string LEMIVtimeMax{""}, LEMIVdeltaTime{""};
0113
0114
0115 std::string useBELOV{"false"};
0116 std::string BELOVNirrep{""};
0117 std::string BELOVDz{""};
0118
0119
0120 std::string fParticleName{""};
0121 float fParticleEnergy{0};
0122 std::string fEnergyUnit{""};
0123 int fNumberOfParticles{0};
0124
0125 std::string fEndTimeForChemReactions{""};
0126
0127 bool fLoadDamagesFromSDD{false};
0128 int fUnitOfNormalization{1};
0129 bool fSkipScanningIndirectDamage{false};
0130 };
0131
0132 #endif