676fb573 |
1 | // $Id$ |
2 | // Category: event |
3 | // |
7005154f |
4 | // Author: I. Hrivnacova |
5 | // |
6 | // Class AliSteppingActionMessenger |
7 | // -------------------------------- |
676fb573 |
8 | // See the class description in the header file. |
9 | |
10 | #include "AliSteppingActionMessenger.h" |
11 | #include "AliSteppingAction.h" |
12 | #include "AliGlobals.h" |
13 | |
676fb573 |
14 | #include <G4UIcmdWithAnInteger.hh> |
15 | |
78ca1e9c |
16 | //_____________________________________________________________________________ |
676fb573 |
17 | AliSteppingActionMessenger::AliSteppingActionMessenger( |
18 | AliSteppingAction* trackingAction) |
19 | :fSteppingAction(trackingAction) |
20 | { |
21 | // |
22 | fLoopVerboseCmd = new G4UIcmdWithAnInteger("/aliTracking/loopVerbose", this); |
23 | fLoopVerboseCmd |
24 | ->SetGuidance("Set tracking verbose level for detected looping tracks."); |
25 | fLoopVerboseCmd->SetParameterName("LoopVerboseLevel", true); |
26 | fLoopVerboseCmd->SetDefaultValue(1); |
27 | fLoopVerboseCmd->SetRange("LoopVerboseLevel >= 0 && LoopVerboseLevel <= 5"); |
28 | fLoopVerboseCmd->AvailableForStates(Idle); |
41e0e5cc |
29 | |
30 | fMaxNofStepsCmd = new G4UIcmdWithAnInteger("/aliTracking/maxNofSteps", this); |
31 | fMaxNofStepsCmd |
ab9bd855 |
32 | ->SetGuidance("Set maximum number of steps allowed."); |
41e0e5cc |
33 | fMaxNofStepsCmd->SetParameterName("MaxNofSteps", false); |
34 | fMaxNofStepsCmd->SetRange("MaxNofSteps >= 0"); |
35 | fMaxNofStepsCmd->AvailableForStates(Idle); |
676fb573 |
36 | } |
37 | |
78ca1e9c |
38 | //_____________________________________________________________________________ |
676fb573 |
39 | AliSteppingActionMessenger::AliSteppingActionMessenger() { |
40 | // |
41 | } |
42 | |
78ca1e9c |
43 | //_____________________________________________________________________________ |
676fb573 |
44 | AliSteppingActionMessenger::AliSteppingActionMessenger( |
45 | const AliSteppingActionMessenger& right) { |
46 | // |
47 | AliGlobals::Exception( |
48 | "AliSteppingActionMessenger is protected from copying."); |
49 | } |
50 | |
78ca1e9c |
51 | //_____________________________________________________________________________ |
676fb573 |
52 | AliSteppingActionMessenger::~AliSteppingActionMessenger() { |
53 | // |
54 | delete fLoopVerboseCmd; |
41e0e5cc |
55 | delete fMaxNofStepsCmd; |
676fb573 |
56 | } |
57 | |
58 | // operators |
59 | |
78ca1e9c |
60 | //_____________________________________________________________________________ |
676fb573 |
61 | AliSteppingActionMessenger& |
62 | AliSteppingActionMessenger::operator=(const AliSteppingActionMessenger &right) |
63 | { |
64 | // check assignement to self |
65 | if (this == &right) return *this; |
66 | |
67 | AliGlobals::Exception( |
68 | "AliSteppingActionMessenger is protected from assigning."); |
69 | |
70 | return *this; |
71 | } |
72 | |
73 | // public methods |
74 | |
78ca1e9c |
75 | //_____________________________________________________________________________ |
676fb573 |
76 | void AliSteppingActionMessenger::SetNewValue(G4UIcommand* command, |
77 | G4String newValue) |
78 | { |
79 | // Applies command to the associated object. |
80 | // --- |
81 | |
82 | if(command == fLoopVerboseCmd) { |
83 | fSteppingAction |
84 | ->SetLoopVerboseLevel(fLoopVerboseCmd->GetNewIntValue(newValue)); |
85 | } |
41e0e5cc |
86 | else if(command == fMaxNofStepsCmd) { |
87 | fSteppingAction |
88 | ->SetMaxNofSteps(fMaxNofStepsCmd->GetNewIntValue(newValue)); |
89 | } |
676fb573 |
90 | } |