G4ProductionCutsTableMessenger Class Reference

#include <G4ProductionCutsTableMessenger.hh>

Inheritance diagram for G4ProductionCutsTableMessenger:

G4UImessenger

Public Member Functions

 G4ProductionCutsTableMessenger (G4ProductionCutsTable *pTable)
virtual ~G4ProductionCutsTableMessenger ()
virtual void SetNewValue (G4UIcommand *command, G4String newValues)
virtual G4String GetCurrentValue (G4UIcommand *command)

Protected Attributes

G4ProductionCutsTabletheCutsTable

Detailed Description

Definition at line 65 of file G4ProductionCutsTableMessenger.hh.


Constructor & Destructor Documentation

G4ProductionCutsTableMessenger::G4ProductionCutsTableMessenger ( G4ProductionCutsTable pTable  ) 

Definition at line 51 of file G4ProductionCutsTableMessenger.cc.

References G4UIcommand::AvailableForStates(), G4State_PreInit, G4UIcmdWithADoubleAndUnit::SetDefaultUnit(), G4UIcmdWithADoubleAndUnit::SetDefaultValue(), G4UIcmdWithAnInteger::SetDefaultValue(), G4UIcommand::SetGuidance(), G4UIcmdWithADoubleAndUnit::SetParameterName(), G4UIcmdWithAnInteger::SetParameterName(), and G4UIcommand::SetRange().

00052   :theCutsTable(pTable)
00053 {
00054   // /cuts/   directory
00055   theDirectory = new G4UIdirectory("/cuts/");
00056   theDirectory->SetGuidance("Commands for G4VUserPhysicsList.");
00057 
00058   // /cuts/verbose command
00059   verboseCmd = new G4UIcmdWithAnInteger("/cuts/verbose",this);
00060   verboseCmd->SetGuidance("Set the Verbose level of G4ProductionCutsTable.");
00061   verboseCmd->SetGuidance(" 0 : Silent (default)");
00062   verboseCmd->SetGuidance(" 1 : Display warning messages");
00063   verboseCmd->SetGuidance(" 2 : Display more info");
00064   verboseCmd->SetGuidance(" 2 : Display debug info");
00065   verboseCmd->SetParameterName("level",true);
00066   verboseCmd->SetDefaultValue(0);
00067   verboseCmd->SetRange("level >=0 && level <=3");
00068 
00069   // /cuts/setLowEdge command
00070   setLowEdgeCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setLowEdge",this);
00071   setLowEdgeCmd->SetGuidance("Set low edge energy value ");
00072   setLowEdgeCmd->SetParameterName("edge",false);
00073   setLowEdgeCmd->SetDefaultValue(0.99);
00074   setLowEdgeCmd->SetRange("edge >0.0");
00075   setLowEdgeCmd->SetDefaultUnit("keV");
00076   setLowEdgeCmd->AvailableForStates(G4State_PreInit);
00077 
00078   // /cuts/setHighEdge command
00079   setHighEdgeCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setHighEdge",this);
00080   setHighEdgeCmd->SetGuidance("Set high edge energy value ");
00081   setHighEdgeCmd->SetParameterName("edge",false);
00082   setHighEdgeCmd->SetDefaultValue(100.0);
00083   setHighEdgeCmd->SetRange("edge >0.0");
00084   setHighEdgeCmd->SetDefaultUnit("TeV");
00085   setHighEdgeCmd->AvailableForStates(G4State_PreInit);
00086  
00087   // /cuts/setMaxCutEnergy command
00088   setMaxEnergyCutCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setMaxCutEnergy",this);
00089   setMaxEnergyCutCmd->SetGuidance("Set maximum of cut energy value ");
00090   setMaxEnergyCutCmd->SetParameterName("cut",false);
00091   setMaxEnergyCutCmd->SetDefaultValue(10.0);
00092   setMaxEnergyCutCmd->SetRange("cut >0.0");
00093   setMaxEnergyCutCmd->SetDefaultUnit("GeV");
00094   setMaxEnergyCutCmd->AvailableForStates(G4State_PreInit);
00095  
00096  // /cuts/dump command
00097   dumpCmd = new G4UIcmdWithoutParameter("/cuts/dump",this);
00098   dumpCmd->SetGuidance("Dump cuplues in ProductuinCutsTable. ");
00099 
00100 }

G4ProductionCutsTableMessenger::~G4ProductionCutsTableMessenger (  )  [virtual]

Definition at line 102 of file G4ProductionCutsTableMessenger.cc.

00103 {
00104   delete dumpCmd;
00105   delete setMaxEnergyCutCmd;
00106   delete setHighEdgeCmd;
00107   delete setLowEdgeCmd;
00108   delete verboseCmd;
00109   delete theDirectory;
00110 }


Member Function Documentation

G4String G4ProductionCutsTableMessenger::GetCurrentValue ( G4UIcommand command  )  [virtual]

Reimplemented from G4UImessenger.

Definition at line 138 of file G4ProductionCutsTableMessenger.cc.

References G4UIcommand::ConvertToString(), G4ProductionCutsTable::GetHighEdgeEnergy(), G4ProductionCutsTable::GetLowEdgeEnergy(), G4ProductionCutsTable::GetMaxEnergyCut(), G4ProductionCutsTable::GetVerboseLevel(), and theCutsTable.

00139 {
00140   G4String cv;
00141   
00142   if( command==verboseCmd ){
00143    cv = verboseCmd->ConvertToString(theCutsTable->GetVerboseLevel());
00144 
00145  } else if( command==setLowEdgeCmd ){
00146     G4double lowEdge = theCutsTable->GetLowEdgeEnergy();
00147     cv = setLowEdgeCmd->ConvertToString( lowEdge, "keV" );
00148 
00149  } else if( command==setHighEdgeCmd ){
00150     G4double highEdge = theCutsTable->GetHighEdgeEnergy();
00151     cv = setHighEdgeCmd->ConvertToString( highEdge, "TeV" );
00152 
00153  } else if( command==setMaxEnergyCutCmd ){
00154     G4double cut = theCutsTable->GetMaxEnergyCut();
00155     cv = setMaxEnergyCutCmd->ConvertToString( cut, "GeV" );
00156  }
00157 
00158 
00159   return cv;
00160 
00161 }

void G4ProductionCutsTableMessenger::SetNewValue ( G4UIcommand command,
G4String  newValues 
) [virtual]

Reimplemented from G4UImessenger.

Definition at line 112 of file G4ProductionCutsTableMessenger.cc.

References G4ProductionCutsTable::GetHighEdgeEnergy(), G4ProductionCutsTable::GetLowEdgeEnergy(), G4UIcmdWithADoubleAndUnit::GetNewDoubleValue(), G4UIcmdWithAnInteger::GetNewIntValue(), G4ProductionCutsTable::SetEnergyRange(), G4ProductionCutsTable::SetMaxEnergyCut(), G4ProductionCutsTable::SetVerboseLevel(), and theCutsTable.

00114 {
00115   if( command==verboseCmd ) {
00116     theCutsTable->SetVerboseLevel(verboseCmd->GetNewIntValue(newValue)); 
00117 
00118   } else if( command==dumpCmd ){
00119     theCutsTable-> DumpCouples();
00120 
00121   } else if( command==setLowEdgeCmd ){
00122     G4double lowEdge = setLowEdgeCmd->GetNewDoubleValue(newValue); 
00123     G4double highEdge = theCutsTable->GetHighEdgeEnergy();
00124     theCutsTable->SetEnergyRange(lowEdge, highEdge);
00125     
00126   } else if( command==setHighEdgeCmd ){
00127     G4double highEdge = setHighEdgeCmd->GetNewDoubleValue(newValue); 
00128     G4double lowEdge = theCutsTable->GetLowEdgeEnergy();
00129     theCutsTable->SetEnergyRange(lowEdge, highEdge);
00130     
00131  } else if( command==setMaxEnergyCutCmd ){
00132     G4double cut = setHighEdgeCmd->GetNewDoubleValue(newValue); 
00133     theCutsTable->SetMaxEnergyCut(cut);
00134     
00135   }
00136 }


Field Documentation

G4ProductionCutsTable* G4ProductionCutsTableMessenger::theCutsTable [protected]

Definition at line 80 of file G4ProductionCutsTableMessenger.hh.

Referenced by GetCurrentValue(), and SetNewValue().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:00 2013 for Geant4 by  doxygen 1.4.7