File indexing completed on 2025-09-17 08:59:24
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
0032
0033
0034
0035 #ifndef G4ScoringMessenger_h
0036 #define G4ScoringMessenger_h 1
0037
0038 #include "G4String.hh"
0039 #include "G4UImessenger.hh"
0040
0041 #include <vector>
0042
0043 class G4ScoringManager;
0044 class G4VScoringMesh;
0045 class G4UIdirectory;
0046 class G4UIcmdWithoutParameter;
0047 class G4UIcmdWithAString;
0048 class G4UIcmdWithABool;
0049 class G4UIcmdWithAnInteger;
0050 class G4UIcmdWithADoubleAndUnit;
0051 class G4UIcmdWith3VectorAndUnit;
0052 class G4UIcommand;
0053
0054 using G4TokenVec = std::vector<G4String>;
0055
0056 class G4ScoringMessenger : public G4UImessenger
0057 {
0058 public:
0059
0060 G4ScoringMessenger(G4ScoringManager* SManager);
0061
0062 ~G4ScoringMessenger() override;
0063
0064 void SetNewValue(G4UIcommand* command, G4String newValues) override;
0065
0066 G4String GetCurrentValue(G4UIcommand* command) override;
0067
0068 protected:
0069
0070 void FillTokenVec(const G4String& newValues, G4TokenVec& token);
0071 void MeshBinCommand(G4VScoringMesh* mesh, G4TokenVec& token);
0072 void Fill1D(G4UIcommand* cmd, const G4String& newValues);
0073
0074 private:
0075
0076 G4ScoringManager* fSMan;
0077 G4UIdirectory* scoreDir;
0078 G4UIcmdWithoutParameter* listCmd;
0079 G4UIcmdWithoutParameter* dumpCmd;
0080 G4UIcmdWithAnInteger* verboseCmd;
0081
0082 G4UIdirectory* meshCreateDir;
0083 G4UIcmdWithAString* meshBoxCreateCmd;
0084 G4UIcmdWithAString* meshCylinderCreateCmd;
0085 G4UIcommand* meshRWLogVolCreateCmd;
0086 G4UIcommand* probeCreateCmd;
0087
0088
0089 G4UIdirectory* meshDir;
0090 G4UIcmdWithAString* meshOpnCmd;
0091
0092 G4UIcmdWithoutParameter* meshClsCmd;
0093
0094
0095 G4UIcmdWith3VectorAndUnit* mBoxSizeCmd;
0096 G4UIcommand* mCylinderSizeCmd;
0097 G4UIcmdWithADoubleAndUnit* mCylinderRMinCmd;
0098 G4UIcommand* mCylinderAngleCmd;
0099
0100
0101 G4UIcommand* mBinCmd;
0102
0103
0104 G4UIdirectory* mTransDir;
0105 G4UIcmdWithoutParameter* mTResetCmd;
0106 G4UIcmdWith3VectorAndUnit* mTXyzCmd;
0107 G4UIdirectory* mRotDir;
0108 G4UIcmdWithADoubleAndUnit* mRotXCmd;
0109 G4UIcmdWithADoubleAndUnit* mRotYCmd;
0110 G4UIcmdWithADoubleAndUnit* mRotZCmd;
0111
0112
0113 G4UIdirectory* probeDir;
0114 G4UIcmdWithAString* probeMatCmd;
0115 G4UIcmdWith3VectorAndUnit* probeLocateCmd;
0116
0117
0118 G4UIcommand* drawCmd;
0119 G4UIcommand* drawColumnCmd;
0120 G4UIdirectory* colorMapDir;
0121 G4UIcmdWithoutParameter* listColorMapCmd;
0122 G4UIcmdWithAString* floatMinMaxCmd;
0123 G4UIcommand* colorMapMinMaxCmd;
0124
0125
0126 G4UIcommand* dumpQtyToFileCmd;
0127 G4UIcommand* dumpAllQtsToFileCmd;
0128 G4UIcommand* dumpQtyWithFactorCmd;
0129 G4UIcommand* dumpAllQtsWithFactorCmd;
0130
0131
0132 G4UIcommand* fill1DCmd;
0133 };
0134
0135 #endif