File indexing completed on 2025-02-23 09:21:58
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 MOLECULAR_DNA_MESSENGER_HH
0030 #define MOLECULAR_DNA_MESSENGER_HH
0031
0032 #include "G4UIcmdWith3VectorAndUnit.hh"
0033 #include "G4UIcmdWithABool.hh"
0034 #include "G4UIcmdWithADouble.hh"
0035 #include "G4UIcmdWithADoubleAndUnit.hh"
0036 #include "G4UIcmdWithAString.hh"
0037 #include "G4UIcmdWithAnInteger.hh"
0038 #include "G4UIcmdWithoutParameter.hh"
0039 #include "G4UIdirectory.hh"
0040 #include "G4UImessenger.hh"
0041 #include "globals.hh"
0042
0043 #include <memory>
0044
0045 class DNAGeometry;
0046
0047
0048
0049 class DNAGeometryMessenger : public G4UImessenger
0050 {
0051 public:
0052 explicit DNAGeometryMessenger(DNAGeometry*);
0053
0054 ~DNAGeometryMessenger() override = default;
0055
0056 void SetNewValue(G4UIcommand*, G4String) override;
0057
0058 protected:
0059 private:
0060 DNAGeometry* fpDNAGeometry;
0061
0062
0063 std::unique_ptr<G4UIdirectory> fpDNADirectory;
0064 std::unique_ptr<G4UIcmdWithAString> fpNewPlacementVolumeFile;
0065 std::unique_ptr<G4UIcmdWithAString> fpVoxelPlacementsFile;
0066 std::unique_ptr<G4UIcmdWith3VectorAndUnit> fpVoxelSideLength;
0067 std::unique_ptr<G4UIcmdWith3VectorAndUnit>
0068 fpFractalScaling;
0069 std::unique_ptr<G4UIcmdWithABool>
0070 fpAnglesAsPi;
0071 std::unique_ptr<G4UIcmdWithABool>
0072 fpCustomMoleculeSizes;
0073 std::unique_ptr<G4UIcmdWithAString> fpAddMoleculeSize;
0074
0075
0076 std::unique_ptr<G4UIcmdWithABool> fpCheckDNAOverlaps;
0077 std::unique_ptr<G4UIcmdWithAnInteger> fpVerbosity;
0078 std::unique_ptr<G4UIcmdWithAnInteger> fpSmartless;
0079
0080
0081 std::unique_ptr<G4UIcmdWithADoubleAndUnit> fpIntRangeDirect;
0082 std::unique_ptr<G4UIcmdWithADoubleAndUnit> fpRadicalKillDistance;
0083 std::unique_ptr<G4UIcmdWithABool> fpUseHistoneScav;
0084
0085
0086 std::unique_ptr<G4UIcmdWithABool> fpDrawCellVolumes;
0087
0088 std::unique_ptr<G4UIdirectory> fpTestDirectory;
0089 std::unique_ptr<G4UIcmdWithoutParameter> fpChromosomeTest;
0090 std::unique_ptr<G4UIcmdWithoutParameter> fpBasePairTest;
0091 std::unique_ptr<G4UIcmdWithoutParameter> fpUniqueIDTest;
0092 };
0093
0094
0095
0096 #endif