MollerDetectorMessenger Class Reference

#include <MollerDetectorMessenger.hh>

Collaboration diagram for MollerDetectorMessenger:
Collaboration graph
[legend]

Public Member Functions

 MollerDetectorMessenger (MollerDetectorConstruction *)
virtual ~MollerDetectorMessenger ()
void SetNewValue (G4UIcommand *, G4String)

Private Attributes

MollerDetectorConstructionmyDetector
G4UIdirectory * detDir
G4UIcmdWithADoubleAndUnit * TargLengthCmd
G4UIcmdWithAString * DetGeomFileCmd
G4UIcmdWithAString * CollimGeomFileCmd
G4UIcmdWithAString * WriteGeomFileCmd
G4UIcmdWithABool * ReadGeomFileCmd
G4UIcmdWithAnInteger * NumCollCmd

Detailed Description

Definition at line 29 of file MollerDetectorMessenger.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }

Here is the call graph for this function:


Field Documentation

G4UIcmdWithAString* MollerDetectorMessenger::CollimGeomFileCmd [private]
G4UIdirectory* MollerDetectorMessenger::detDir [private]

Definition at line 39 of file MollerDetectorMessenger.hh.

Referenced by MollerDetectorMessenger(), and ~MollerDetectorMessenger().

G4UIcmdWithAString* MollerDetectorMessenger::DetGeomFileCmd [private]

Definition at line 38 of file MollerDetectorMessenger.hh.

Referenced by SetNewValue().

G4UIcmdWithAnInteger* MollerDetectorMessenger::NumCollCmd [private]
G4UIcmdWithABool* MollerDetectorMessenger::ReadGeomFileCmd [private]
G4UIcmdWithADoubleAndUnit* MollerDetectorMessenger::TargLengthCmd [private]
G4UIcmdWithAString* MollerDetectorMessenger::WriteGeomFileCmd [private]

The documentation for this class was generated from the following files:

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1