#include <MollerDetectorMessenger.hh>
Public Member Functions | |
MollerDetectorMessenger (MollerDetectorConstruction *) | |
virtual | ~MollerDetectorMessenger () |
void | SetNewValue (G4UIcommand *, G4String) |
Private Attributes | |
MollerDetectorConstruction * | myDetector |
G4UIdirectory * | detDir |
G4UIcmdWithADoubleAndUnit * | TargLengthCmd |
G4UIcmdWithAString * | DetGeomFileCmd |
G4UIcmdWithAString * | CollimGeomFileCmd |
G4UIcmdWithAString * | WriteGeomFileCmd |
G4UIcmdWithABool * | ReadGeomFileCmd |
G4UIcmdWithAnInteger * | NumCollCmd |
Definition at line 29 of file MollerDetectorMessenger.hh.
MollerDetectorMessenger::MollerDetectorMessenger | ( | MollerDetectorConstruction * | myDet | ) |
Definition at line 26 of file MollerDetectorMessenger.cc.
References CollimGeomFileCmd, detDir, DetGeomFileCmd, NumCollCmd, ReadGeomFileCmd, TargLengthCmd, and WriteGeomFileCmd.
00027 :myDetector(myDet) 00028 { 00029 detDir = new G4UIdirectory("/moller/det/"); 00030 detDir->SetGuidance("detector control."); 00031 00032 TargLengthCmd = new G4UIcmdWithADoubleAndUnit("/moller/det/setTargetLength",this); 00033 TargLengthCmd->SetGuidance("Set the Target Length."); 00034 TargLengthCmd->SetParameterName("fTargetLength",true, true); 00035 TargLengthCmd->SetDefaultValue(150.); 00036 TargLengthCmd->SetUnitCategory("Length"); 00037 TargLengthCmd->SetDefaultUnit("cm"); 00038 TargLengthCmd->AvailableForStates(G4State_PreInit); 00039 00040 NumCollCmd = new G4UIcmdWithAnInteger("/moller/det/setNumberofCollimators",this); 00041 NumCollCmd->SetGuidance("Set the number of collimators."); 00042 NumCollCmd->SetParameterName("NUM_COLLS",true); 00043 NumCollCmd->SetDefaultValue(10); 00044 NumCollCmd->AvailableForStates(G4State_PreInit); 00045 00046 CollimGeomFileCmd = new G4UIcmdWithAString("/moller/det/setCollimatorFileName",this); 00047 CollimGeomFileCmd->SetGuidance("Set the Collimator geometry file name."); 00048 CollimGeomFileCmd->SetParameterName("collimfileName",true); 00049 CollimGeomFileCmd->SetDefaultValue("coll_default"); 00050 CollimGeomFileCmd->AvailableForStates(G4State_PreInit); 00051 00052 DetGeomFileCmd = new G4UIcmdWithAString("/moller/det/setDetectorFileName",this); 00053 DetGeomFileCmd->SetGuidance("Set the Detector geometry file name."); 00054 DetGeomFileCmd->SetParameterName("detfileName",true); 00055 DetGeomFileCmd->SetDefaultValue("geometry/detector_fastradModel/detector.gdml"); 00056 DetGeomFileCmd->AvailableForStates(G4State_PreInit); 00057 00058 ReadGeomFileCmd = new G4UIcmdWithABool("/moller/det/readGeometryFromFile",this); 00059 ReadGeomFileCmd->SetGuidance("Set to false to use hard-coded geometry."); 00060 ReadGeomFileCmd->SetParameterName("fReadGeoFile",true); 00061 ReadGeomFileCmd->SetDefaultValue(false); 00062 ReadGeomFileCmd->AvailableForStates(G4State_PreInit); 00063 00064 WriteGeomFileCmd = new G4UIcmdWithAString("/moller/det/writeGeometry",this); 00065 WriteGeomFileCmd->SetGuidance("Write the geometry to GDML file."); 00066 WriteGeomFileCmd->SetParameterName("writeFileName",true); 00067 WriteGeomFileCmd->SetDefaultValue("moller.gdml"); 00068 WriteGeomFileCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 00069 }
MollerDetectorMessenger::~MollerDetectorMessenger | ( | ) | [virtual] |
Definition at line 73 of file MollerDetectorMessenger.cc.
References CollimGeomFileCmd, detDir, DetGeomFileCmd, NumCollCmd, ReadGeomFileCmd, TargLengthCmd, and WriteGeomFileCmd.
00074 { 00075 delete TargLengthCmd; 00076 delete WriteGeomFileCmd; 00077 delete CollimGeomFileCmd; 00078 delete DetGeomFileCmd; 00079 delete ReadGeomFileCmd; 00080 delete NumCollCmd; 00081 00082 delete detDir; 00083 }
void MollerDetectorMessenger::SetNewValue | ( | G4UIcommand * | command, | |
G4String | newValue | |||
) |
Definition at line 87 of file MollerDetectorMessenger.cc.
References CollimGeomFileCmd, DetGeomFileCmd, myDetector, NumCollCmd, ReadGeomFileCmd, MollerDetectorConstruction::SetCollimGeomFile(), MollerDetectorConstruction::SetDetectorGeomFile(), MollerDetectorConstruction::setNumColl(), MollerDetectorConstruction::SetReadGeo(), MollerDetectorConstruction::setTargetLength(), TargLengthCmd, MollerDetectorConstruction::WriteGeometryFile(), and WriteGeomFileCmd.
00088 { 00089 if (command == TargLengthCmd) 00090 { myDetector->setTargetLength(TargLengthCmd->GetNewDoubleValue(newValue)); } 00091 else if (command == CollimGeomFileCmd) 00092 { myDetector->SetCollimGeomFile(newValue); } 00093 else if (command == DetGeomFileCmd) 00094 { myDetector->SetDetectorGeomFile(newValue); } 00095 else if (command == NumCollCmd) 00096 { myDetector->setNumColl(NumCollCmd->GetNewIntValue(newValue)); } 00097 else if (command == ReadGeomFileCmd) 00098 { myDetector->SetReadGeo(ReadGeomFileCmd->GetNewBoolValue(newValue));} 00099 else if (command == WriteGeomFileCmd) 00100 { myDetector->WriteGeometryFile(newValue); } 00101 }
G4UIcmdWithAString* MollerDetectorMessenger::CollimGeomFileCmd [private] |
Definition at line 43 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().
G4UIdirectory* MollerDetectorMessenger::detDir [private] |
Definition at line 39 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), and ~MollerDetectorMessenger().
G4UIcmdWithAString* MollerDetectorMessenger::DetGeomFileCmd [private] |
Definition at line 42 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().
Definition at line 38 of file MollerDetectorMessenger.hh.
Referenced by SetNewValue().
G4UIcmdWithAnInteger* MollerDetectorMessenger::NumCollCmd [private] |
Definition at line 46 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().
G4UIcmdWithABool* MollerDetectorMessenger::ReadGeomFileCmd [private] |
Definition at line 45 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().
G4UIcmdWithADoubleAndUnit* MollerDetectorMessenger::TargLengthCmd [private] |
Definition at line 41 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().
G4UIcmdWithAString* MollerDetectorMessenger::WriteGeomFileCmd [private] |
Definition at line 44 of file MollerDetectorMessenger.hh.
Referenced by MollerDetectorMessenger(), SetNewValue(), and ~MollerDetectorMessenger().