Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4StackingMessenger Class Reference

#include <G4StackingMessenger.hh>

Inheritance diagram for G4StackingMessenger:

Public Member Functions

 G4StackingMessenger (G4StackManager *fCont)
 ~G4StackingMessenger () override
void SetNewValue (G4UIcommand *command, G4String newValues) override
Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
virtual ~G4UImessenger ()
virtual G4String GetCurrentValue (G4UIcommand *command)
G4bool CommandsShouldBeInMaster () const

Additional Inherited Members

Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
G4String LtoS (G4long l)
G4String DtoS (G4double a)
G4String BtoS (G4bool b)
G4int StoI (const G4String &s)
G4long StoL (const G4String &s)
G4double StoD (const G4String &s)
G4bool StoB (const G4String &s)
void AddUIcommand (G4UIcommand *newCommand)
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
template<typename T>
T * CreateCommand (const G4String &cname, const G4String &dsc)
Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
G4String baseDirName = ""
G4bool commandsShouldBeInMaster = false

Detailed Description

Definition at line 49 of file G4StackingMessenger.hh.

Constructor & Destructor Documentation

◆ G4StackingMessenger()

G4StackingMessenger::G4StackingMessenger ( G4StackManager * fCont)

Definition at line 38 of file G4StackingMessenger.cc.

39 : fContainer(fCont)
40{
41 stackDir = new G4UIdirectory("/event/stack/");
42 stackDir->SetGuidance("Stack control commands.");
43
44 statusCmd = new G4UIcmdWithoutParameter("/event/stack/status",this);
45 statusCmd->SetGuidance("List current status of the stack.");
46
47 clearCmd = new G4UIcmdWithAnInteger("/event/stack/clear",this);
48 clearCmd->SetGuidance("Clear stacked tracks.");
49 clearCmd->SetGuidance(" 2 : clear all tracks in all stacks");
50 clearCmd->SetGuidance(" 1 : clear tracks in the urgent and waiting stacks");
51 clearCmd->SetGuidance(" 0 : clear tracks in the waiting stack (default)");
52 clearCmd->SetGuidance("-1 : clear tracks in the urgent stack");
53 clearCmd->SetGuidance("-2 : clear tracks in the postponed stack");
54 clearCmd->SetParameterName("level",true);
55 clearCmd->SetDefaultValue(0);
56 clearCmd->SetRange("level>=-2&&level<=2");
57 clearCmd->AvailableForStates(G4State_GeomClosed,G4State_EventProc);
58
59 verboseCmd = new G4UIcmdWithAnInteger("/event/stack/verbose",this);
60 verboseCmd->SetGuidance("Set verbose level for G4StackManager");
61 verboseCmd->SetGuidance(" 0 : Silence (default)");
62 verboseCmd->SetGuidance(" 1 : Minimum statistics");
63 verboseCmd->SetGuidance(" 2 : Detailed reports");
64 verboseCmd->SetGuidance("Note - this value is overwritten by /event/verbose command.");
65}
@ G4State_EventProc
@ G4State_GeomClosed

◆ ~G4StackingMessenger()

G4StackingMessenger::~G4StackingMessenger ( )
override

Definition at line 67 of file G4StackingMessenger.cc.

68{
69 delete statusCmd;
70 delete clearCmd;
71 delete verboseCmd;
72 delete stackDir;
73}

Member Function Documentation

◆ SetNewValue()

void G4StackingMessenger::SetNewValue ( G4UIcommand * command,
G4String newValues )
overridevirtual

Reimplemented from G4UImessenger.

Definition at line 75 of file G4StackingMessenger.cc.

76{
77 if( command==statusCmd )
78 {
79 G4cout << "========================== Current status of the stack ====="
80 << G4endl;
81 G4cout << " Number of tracks in the stack"
82 << G4endl;
83 G4cout << " Urgent stack : " << fContainer->GetNUrgentTrack()
84 << G4endl;
85 G4cout << " Waiting stack : " << fContainer->GetNWaitingTrack()
86 << G4endl;
87 G4cout << " Postponed stack : " << fContainer->GetNPostponedTrack()
88 << G4endl;
89 }
90 else if( command==clearCmd )
91 {
92 G4int vc = clearCmd->GetNewIntValue(newValues);
93 switch (vc)
94 {
95 case 2:
96 fContainer->ClearPostponeStack(); // fallthrough
97 /* no break */
98 case 1:
99 fContainer->ClearUrgentStack(); // fallthrough
100 /* no break */
101 case 0:
102 fContainer->ClearWaitingStack();
103 break;
104 case -1:
105 fContainer->ClearUrgentStack();
106 break;
107 case -2:
108 fContainer->ClearPostponeStack();
109 break;
110 }
111 }
112 else if( command==verboseCmd )
113 {
114 fContainer->SetVerboseLevel(verboseCmd->GetNewIntValue(newValues));
115 }
116}
int G4int
Definition G4Types.hh:85
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout

The documentation for this class was generated from the following files: