4 // Author: I. Hrivnacova
6 // Class AliTrackingActionMessenger
7 // --------------------------------
8 // See the class description in the header file.
10 #include "AliTrackingActionMessenger.h"
11 #include "AliTrackingAction.h"
12 #include "AliGlobals.h"
14 #include <G4UIdirectory.hh>
15 #include <G4UIcmdWithAnInteger.hh>
17 //_____________________________________________________________________________
18 AliTrackingActionMessenger::AliTrackingActionMessenger(
19 AliTrackingAction* trackingAction)
20 :fTrackingAction(trackingAction)
23 fTrackingDirectory = new G4UIdirectory("/aliTracking/");
24 fTrackingDirectory->SetGuidance("AliTrackingAction control commands.");
26 fNewVerboseCmd = new G4UIcmdWithAnInteger("/aliTracking/newVerbose", this);
27 fNewVerboseCmd->SetGuidance("Set new verbose level (/tracking/verbose)");
28 fNewVerboseCmd->SetGuidance("when a track with specified track ID ");
29 fNewVerboseCmd->SetGuidance("(/aliTracking/newVerboseTrack)\n starts tracking");
30 fNewVerboseCmd->SetParameterName("NewVerboseLevel", false);
31 fNewVerboseCmd->SetRange("NewVerboseLevel >= 0 && NewVerboseLevel <= 5");
32 fNewVerboseCmd->AvailableForStates(PreInit, Init, Idle);
34 fNewVerboseTrackCmd = new G4UIcmdWithAnInteger("/aliTracking/newVerboseTrack", this);
35 fNewVerboseTrackCmd->SetGuidance("Set the track ID for which the new verbose level");
36 fNewVerboseTrackCmd->SetGuidance("(/aliTracking/newVerbose) will be applied.");
37 fNewVerboseTrackCmd->SetParameterName("NewVerboseLevelTrackID", false);
38 fNewVerboseTrackCmd->SetRange("NewVerboseLevelTrackID >= 0");
39 fNewVerboseTrackCmd->AvailableForStates(PreInit, Init, Idle);
42 //_____________________________________________________________________________
43 AliTrackingActionMessenger::AliTrackingActionMessenger() {
47 //_____________________________________________________________________________
48 AliTrackingActionMessenger::AliTrackingActionMessenger(
49 const AliTrackingActionMessenger& right) {
51 AliGlobals::Exception(
52 "AliTrackingActionMessenger is protected from copying.");
55 //_____________________________________________________________________________
56 AliTrackingActionMessenger::~AliTrackingActionMessenger() {
58 delete fTrackingDirectory;
59 delete fNewVerboseCmd;
60 delete fNewVerboseTrackCmd;
65 //_____________________________________________________________________________
66 AliTrackingActionMessenger&
67 AliTrackingActionMessenger::operator=(const AliTrackingActionMessenger &right)
69 // check assignement to self
70 if (this == &right) return *this;
72 AliGlobals::Exception(
73 "AliTrackingActionMessenger is protected from assigning.");
80 //_____________________________________________________________________________
81 void AliTrackingActionMessenger::SetNewValue(G4UIcommand* command,
84 // Applies command to the associated object.
87 if(command == fNewVerboseCmd) {
89 ->SetNewVerboseLevel(fNewVerboseCmd->GetNewIntValue(newValue));
91 else if(command == fNewVerboseTrackCmd) {
93 ->SetNewVerboseTrackID(fNewVerboseTrackCmd->GetNewIntValue(newValue));