4 // See the class description in the header file.
6 #include "AliSteppingActionMessenger.h"
7 #include "AliSteppingAction.h"
8 #include "AliGlobals.h"
10 #include <G4UIcmdWithAnInteger.hh>
12 AliSteppingActionMessenger::AliSteppingActionMessenger(
13 AliSteppingAction* trackingAction)
14 :fSteppingAction(trackingAction)
17 fLoopVerboseCmd = new G4UIcmdWithAnInteger("/aliTracking/loopVerbose", this);
19 ->SetGuidance("Set tracking verbose level for detected looping tracks.");
20 fLoopVerboseCmd->SetParameterName("LoopVerboseLevel", true);
21 fLoopVerboseCmd->SetDefaultValue(1);
22 fLoopVerboseCmd->SetRange("LoopVerboseLevel >= 0 && LoopVerboseLevel <= 5");
23 fLoopVerboseCmd->AvailableForStates(Idle);
25 fMaxNofStepsCmd = new G4UIcmdWithAnInteger("/aliTracking/maxNofSteps", this);
27 ->SetGuidance("Set tracking verbose level for detected looping tracks.");
28 fMaxNofStepsCmd->SetParameterName("MaxNofSteps", false);
29 fMaxNofStepsCmd->SetRange("MaxNofSteps >= 0");
30 fMaxNofStepsCmd->AvailableForStates(Idle);
33 AliSteppingActionMessenger::AliSteppingActionMessenger() {
37 AliSteppingActionMessenger::AliSteppingActionMessenger(
38 const AliSteppingActionMessenger& right) {
40 AliGlobals::Exception(
41 "AliSteppingActionMessenger is protected from copying.");
44 AliSteppingActionMessenger::~AliSteppingActionMessenger() {
46 delete fLoopVerboseCmd;
47 delete fMaxNofStepsCmd;
52 AliSteppingActionMessenger&
53 AliSteppingActionMessenger::operator=(const AliSteppingActionMessenger &right)
55 // check assignement to self
56 if (this == &right) return *this;
58 AliGlobals::Exception(
59 "AliSteppingActionMessenger is protected from assigning.");
66 void AliSteppingActionMessenger::SetNewValue(G4UIcommand* command,
69 // Applies command to the associated object.
72 if(command == fLoopVerboseCmd) {
74 ->SetLoopVerboseLevel(fLoopVerboseCmd->GetNewIntValue(newValue));
76 else if(command == fMaxNofStepsCmd) {
78 ->SetMaxNofSteps(fMaxNofStepsCmd->GetNewIntValue(newValue));