#include <G4TrackingMessenger.hh>
Inheritance diagram for G4TrackingMessenger:
Public Member Functions | |
G4TrackingMessenger (G4TrackingManager *trMan) | |
~G4TrackingMessenger () | |
void | SetNewValue (G4UIcommand *command, G4String newValues) |
G4String | GetCurrentValue (G4UIcommand *command) |
Definition at line 56 of file G4TrackingMessenger.hh.
G4TrackingMessenger::G4TrackingMessenger | ( | G4TrackingManager * | trMan | ) |
Definition at line 57 of file G4TrackingMessenger.cc.
References G4TrackingManager::GetSteppingManager(), G4UIcmdWithAnInteger::SetDefaultValue(), G4UIcommand::SetGuidance(), G4UIcmdWithAnInteger::SetParameterName(), and G4UIcommand::SetRange().
00059 : trackingManager(trMan) 00060 { 00061 steppingManager = trackingManager->GetSteppingManager(); 00062 00063 TrackingDirectory = new G4UIdirectory("/tracking/"); 00064 TrackingDirectory->SetGuidance("TrackingManager and SteppingManager control commands."); 00065 00066 AbortCmd = new G4UIcmdWithoutParameter("/tracking/abort",this); 00067 AbortCmd->SetGuidance("Abort current G4Track processing."); 00068 00069 00070 ResumeCmd = new G4UIcmdWithoutParameter("/tracking/resume",this); 00071 ResumeCmd->SetGuidance("Resume current G4Track processing."); 00072 00073 StoreTrajectoryCmd = new G4UIcmdWithAnInteger("/tracking/storeTrajectory",this); 00074 StoreTrajectoryCmd->SetGuidance("Store trajectories or not."); 00075 StoreTrajectoryCmd->SetGuidance(" 0 : Don't Store trajectories."); 00076 StoreTrajectoryCmd->SetGuidance(" !=0 : Store trajectories."); 00077 StoreTrajectoryCmd->SetGuidance(" 1 : Choose G4Trajectory as default."); 00078 StoreTrajectoryCmd->SetGuidance(" 2 : Choose G4SmoothTrajectory as default."); 00079 StoreTrajectoryCmd->SetGuidance(" 3 : Choose G4RichTrajectory as default."); 00080 StoreTrajectoryCmd->SetParameterName("Store",true); 00081 StoreTrajectoryCmd->SetDefaultValue(0); 00082 StoreTrajectoryCmd->SetRange("Store >=0 && Store <= 3"); 00083 00084 00085 VerboseCmd = new G4UIcmdWithAnInteger("/tracking/verbose",this); 00086 #ifdef G4VERBOSE 00087 VerboseCmd->SetGuidance("Set Verbose level of tracking category."); 00088 VerboseCmd->SetGuidance(" -1 : Silent."); 00089 VerboseCmd->SetGuidance(" 0 : Silent."); 00090 VerboseCmd->SetGuidance(" 1 : Minium information of each Step."); 00091 VerboseCmd->SetGuidance(" 2 : Addition to Level=1, info of secondary particles."); 00092 VerboseCmd->SetGuidance(" 3 : Addition to Level=1, pre/postStepoint information"); 00093 VerboseCmd->SetGuidance(" after all AlongStep/PostStep process executions."); 00094 VerboseCmd->SetGuidance(" 4 : Addition to Level=3, pre/postStepoint information"); 00095 VerboseCmd->SetGuidance(" at each AlongStepPostStep process execuation."); 00096 VerboseCmd->SetGuidance(" 5 : Addition to Level=4, proposed Step length information"); 00097 VerboseCmd->SetGuidance(" from each AlongStepPostStep process."); 00098 VerboseCmd->SetParameterName("verbose_level",true); 00099 VerboseCmd->SetDefaultValue(0); 00100 VerboseCmd->SetRange("verbose_level >=-1 "); 00101 #else 00102 VerboseCmd->SetGuidance("You need to recompile the tracking category defining G4VERBOSE "); 00103 #endif 00104 }
G4TrackingMessenger::~G4TrackingMessenger | ( | ) |
Definition at line 107 of file G4TrackingMessenger.cc.
00109 { 00110 delete TrackingDirectory; 00111 delete AbortCmd; 00112 delete ResumeCmd; 00113 delete StoreTrajectoryCmd; 00114 delete VerboseCmd; 00115 }
G4String G4TrackingMessenger::GetCurrentValue | ( | G4UIcommand * | command | ) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 141 of file G4TrackingMessenger.cc.
References G4UIcommand::ConvertToString(), G4TrackingManager::GetStoreTrajectory(), and G4TrackingManager::GetVerboseLevel().
00143 { 00144 if( command == VerboseCmd ){ 00145 return VerboseCmd->ConvertToString(trackingManager->GetVerboseLevel()); 00146 } 00147 else if( command == StoreTrajectoryCmd ){ 00148 return StoreTrajectoryCmd->ConvertToString(trackingManager->GetStoreTrajectory()); 00149 } 00150 return G4String('\0'); 00151 }
void G4TrackingMessenger::SetNewValue | ( | G4UIcommand * | command, | |
G4String | newValues | |||
) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 118 of file G4TrackingMessenger.cc.
References G4UImanager::ApplyCommand(), G4UIcommand::ConvertToInt(), fStopAndKill, G4SteppingManager::GetTrack(), G4UImanager::GetUIpointer(), G4TrackingManager::SetStoreTrajectory(), G4Track::SetTrackStatus(), and G4TrackingManager::SetVerboseLevel().
00120 { 00121 if( command == VerboseCmd ){ 00122 trackingManager->SetVerboseLevel(VerboseCmd->ConvertToInt(newValues)); 00123 } 00124 00125 if( command == AbortCmd ){ 00126 steppingManager->GetTrack()->SetTrackStatus(fStopAndKill); 00127 G4UImanager::GetUIpointer()->ApplyCommand("/control/exit"); 00128 } 00129 00130 if( command == ResumeCmd ){ 00131 G4UImanager::GetUIpointer()->ApplyCommand("/control/exit"); 00132 } 00133 00134 if( command == StoreTrajectoryCmd ){ 00135 trackingManager->SetStoreTrajectory(StoreTrajectoryCmd->ConvertToInt(newValues)); 00136 } 00137 }