Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DMXSteppingActionMessenger.cc
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // --------------------------------------------------------------
28 // GEANT 4 - Underground Dark Matter Detector Advanced Example
29 //
30 // For information related to this code contact: Alex Howard
31 // e-mail: alexander.howard@cern.ch
32 // --------------------------------------------------------------
33 // Comments
34 //
35 // Underground Advanced
36 // by A. Howard and H. Araujo
37 // (27th November 2001)
38 //
39 // SteppingActionMessenger program
40 // --------------------------------------------------------------
41 
43 
44 #include "DMXSteppingAction.hh"
46 
47 #include "globals.hh"
48 #include "G4UIdirectory.hh"
49 #include "G4UIcmdWithAString.hh"
50 
52  (DMXSteppingAction* SA):steppingAction(SA) {
53 
54  colourNeutronCmd = new G4UIcmdWithAString("/dmx/draw/neutronColour",this);
55  colourNeutronCmd->SetGuidance("Colour of neutron in the event");
56  colourNeutronCmd->SetGuidance(" Choice : white, grey, lgrey, black, red, green, blue, cyan, magenta(default), yellow, lgreen, lblue");
57  colourNeutronCmd->SetParameterName("colourNeutronFlag", false);
58  colourNeutronCmd->SetCandidates("white grey lgrey black red green blue cyan magenta yellow lgreen lblue");
59  colourNeutronCmd->AvailableForStates(G4State_Idle);
60 
61  colourGammaCmd = new G4UIcmdWithAString("/dmx/draw/gammaColour",this);
62  colourGammaCmd->SetGuidance("Colour of gamma in the event");
63  colourGammaCmd->SetGuidance(" Choice : white, grey, lgrey, black, red, green, blue, cyan(default), magenta, yellow, lgreen, lblue");
64  colourGammaCmd->SetParameterName("colourGammaFlag", false);
65  colourGammaCmd->SetCandidates("white grey lgrey black red green blue cyan magenta yellow lgreen lblue");
66  colourGammaCmd->AvailableForStates(G4State_Idle);
67 
68  colourOpticalCmd = new G4UIcmdWithAString("/dmx/draw/opticalColour",this);
69  colourOpticalCmd->SetGuidance("Colour of gamma in the event");
70  colourOpticalCmd->SetGuidance(" Choice : white(default), grey, lgrey, black, red, green, blue, cyan, magenta, yellow, lgreen, lblue");
71  colourOpticalCmd->SetParameterName("colourOpticalFlag", false);
72  colourOpticalCmd->SetCandidates("white grey lgrey black red green blue cyan magenta yellow lgreen lblue");
73  colourOpticalCmd->AvailableForStates(G4State_Idle);
74 
75  colourChargedPlusCmd = new G4UIcmdWithAString("/dmx/draw/chargedplusColour",this);
76  colourChargedPlusCmd->SetGuidance("colour of chargedplus in the event");
77  colourChargedPlusCmd->SetGuidance(" Choice : white, grey, lgrey, black, red (default), green, blue, cyan, magenta, yellow, lgreen, lblue");
78  colourChargedPlusCmd->SetParameterName("ColourChargedPlusFlag", false);
79  colourChargedPlusCmd->SetCandidates("white grey lgrey black red(default) green blue cyan magenta yellow lgreen lblue");
80  colourChargedPlusCmd->AvailableForStates(G4State_Idle);
81 
82  colourChargedMinusCmd = new G4UIcmdWithAString("/dmx/draw/chargedminusColour",this);
83  colourChargedMinusCmd->SetGuidance("colour of chargedminus in the event");
84  colourChargedMinusCmd->SetGuidance(" Choice : white, grey, lgrey, black, red, green, blue(default), cyan, magenta, yellow, lgreen, lblue");
85  colourChargedMinusCmd->SetParameterName("colourChargedMinusFlag", false);
86  colourChargedMinusCmd->SetCandidates("white grey lgrey black red green blue cyan magenta yellow lgreen lblue");
87  colourChargedMinusCmd->AvailableForStates(G4State_Idle);
88 
89 }
90 
91 
92 //ooooooooooooooooooooooooooooooooooooooooo
94 
95  delete colourNeutronCmd;
96  delete colourGammaCmd;
97  delete colourOpticalCmd;
98  delete colourChargedPlusCmd;
99  delete colourChargedMinusCmd;
100 }
101 
102 
103 //ooooooooooooooooooooooooooooooooooooooooo
105  G4String newValue) {
106 
107  if(command == colourNeutronCmd)
108  steppingAction->SetColourNeutronFlag(newValue);
109 
110  if(command == colourGammaCmd)
111  steppingAction->SetColourGammaFlag(newValue);
112 
113  if(command == colourOpticalCmd)
114  steppingAction->SetColourOpticalFlag(newValue);
115 
116  if(command == colourChargedPlusCmd)
117  steppingAction->SetColourChargedPlusFlag(newValue);
118 
119  if(command == colourChargedMinusCmd)
120  steppingAction->SetColourChargedMinusFlag(newValue);
121 
122 }
123 
124 
125