File indexing completed on 2025-01-31 09:22:01
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 #ifndef InformationKeeper_h
0031 #define InformationKeeper_h 1
0032
0033 #include "globals.hh"
0034 #include <map>
0035 #include <set>
0036 class InformationKeeper
0037 {
0038 public:
0039 static InformationKeeper* Instance();
0040 ~InformationKeeper() = default;
0041 void RecordPhysDNAName(const G4String &p) {fPhysDNAName = p;};
0042 void RecordCellDefFiliePath(const G4String &pth) {fCellDefFilePath = pth;};
0043 void RecordVoxelDefFilesList(std::set<G4String> list) {fVoxelDefFilesList = list;};
0044 void RecordChemInputFolderName(const G4String &pth) {fChemInputFolderName = pth;};
0045 void WritePhysGeo();
0046 G4String GetChemInputFolderName() {return fChemInputFolderName;}
0047 G4String GetPhysOutFolderName() {return fPhysOutFolderName;}
0048 void SetTotalNbBpPlacedInGeo(unsigned long long val) {fTotalNbBpPlacedInGeo = val;}
0049 void SetTotalNbHistonePlacedInGeo(unsigned long long val) {fTotalNbHistonePlacedInGeo = val;}
0050 void SetNucleusVolume(G4double vl) {fNucleusVolume = vl;};
0051 void SetNucleusMassDensity(G4double md) {fNucleusMassDensity = md;};
0052 private:
0053 explicit InformationKeeper();
0054 static InformationKeeper* fInstance;
0055
0056 G4String fPhysDNAName{""};
0057 G4String fCellDefFilePath;
0058 std::set<G4String> fVoxelDefFilesList;
0059 G4String fChemInputFolderName{""};
0060 G4String fPhysOutFolderName{""};
0061 unsigned long long fTotalNbBpPlacedInGeo{0};
0062 unsigned long long fTotalNbHistonePlacedInGeo{0};
0063 G4double fNucleusVolume{0.};
0064 G4double fNucleusMassDensity{0.};
0065 };
0066
0067
0068
0069 #endif