4 // See the class description in the header file.
6 #include "AliTrackingActionMessenger.h"
7 #include "AliTrackingAction.h"
8 #include "AliGlobals.h"
10 #include <G4UIdirectory.hh>
11 #include <G4UIcmdWithAnInteger.hh>
13 AliTrackingActionMessenger::AliTrackingActionMessenger(
14 AliTrackingAction* trackingAction)
15 :fTrackingAction(trackingAction)
18 fTrackingDirectory = new G4UIdirectory("/aliTracking/");
19 fTrackingDirectory->SetGuidance("AliTrackingAction control commands.");
21 fVerboseCmd = new G4UIcmdWithAnInteger("/aliTracking/verbose", this);
22 fVerboseCmd->SetGuidance("Set verbose level for AliTrackingAction");
23 fVerboseCmd->SetParameterName("VerboseLevel", true);
24 fVerboseCmd->SetDefaultValue(2);
25 fVerboseCmd->SetRange("VerboseLevel >= 0 && VerboseLevel <= 3");
26 fVerboseCmd->AvailableForStates(Idle);
29 AliTrackingActionMessenger::AliTrackingActionMessenger() {
33 AliTrackingActionMessenger::AliTrackingActionMessenger(
34 const AliTrackingActionMessenger& right) {
36 AliGlobals::Exception(
37 "AliTrackingActionMessenger is protected from copying.");
40 AliTrackingActionMessenger::~AliTrackingActionMessenger() {
42 delete fTrackingDirectory;
48 AliTrackingActionMessenger&
49 AliTrackingActionMessenger::operator=(const AliTrackingActionMessenger &right)
51 // check assignement to self
52 if (this == &right) return *this;
54 AliGlobals::Exception(
55 "AliTrackingActionMessenger is protected from assigning.");
62 void AliTrackingActionMessenger::SetNewValue(G4UIcommand* command,
65 // Applies command to the associated object.
68 if(command == fVerboseCmd)
71 ->SetVerboseLevel(fVerboseCmd->GetNewIntValue(newValue));