Geant4  10.02.p03
G4StackingMessenger Class Reference

#include <G4StackingMessenger.hh>

Inheritance diagram for G4StackingMessenger:
Collaboration diagram for G4StackingMessenger:

Public Member Functions

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

Private Attributes

G4StackManagerfContainer
 
G4UIdirectorystackDir
 
G4UIcmdWithoutParameterstatusCmd
 
G4UIcmdWithAnIntegerclearCmd
 
G4UIcmdWithAnIntegerverboseCmd
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (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
 
G4String baseDirName
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 48 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);
56  clearCmd->SetRange("level>=-2&&level<=2");
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 
66 }
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithAnInteger * verboseCmd
G4StackManager * fContainer
G4UIcmdWithoutParameter * statusCmd
G4UIcmdWithAnInteger * clearCmd
void SetRange(const char *rs)
Definition: G4UIcommand.hh:125
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:239
void SetDefaultValue(G4int defVal)
G4UIdirectory * stackDir
Here is the call graph for this function:

◆ ~G4StackingMessenger()

G4StackingMessenger::~G4StackingMessenger ( )

Definition at line 68 of file G4StackingMessenger.cc.

69 {
70  delete statusCmd;
71  delete clearCmd;
72  delete verboseCmd;
73  delete stackDir;
74 }
G4UIcmdWithAnInteger * verboseCmd
G4UIcmdWithoutParameter * statusCmd
G4UIcmdWithAnInteger * clearCmd
G4UIdirectory * stackDir

Member Function Documentation

◆ SetNewValue()

void G4StackingMessenger::SetNewValue ( G4UIcommand command,
G4String  newValues 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 76 of file G4StackingMessenger.cc.

77 {
78  if( command==statusCmd )
79  {
80  G4cout << "========================== Current status of the stack =====" << G4endl;
81  G4cout << " Number of tracks in the stack" << G4endl;
82  G4cout << " Urgent stack : " << fContainer->GetNUrgentTrack() << G4endl;
83  G4cout << " Waiting stack : " << fContainer->GetNWaitingTrack() << G4endl;
84  G4cout << " Postponed stack : " << fContainer->GetNPostponedTrack() << G4endl;
85  }
86  else if( command==clearCmd )
87  {
88  G4int vc = clearCmd->GetNewIntValue(newValues);
89  switch (vc)
90  {
91  case 2:
93  case 1:
95  case 0:
97  break;
98  case -1:
100  break;
101  case -2:
103  break;
104  }
105  }
106  else if( command==verboseCmd )
107  {
109  }
110 }
static G4int GetNewIntValue(const char *paramString)
G4int GetNPostponedTrack() const
int G4int
Definition: G4Types.hh:78
G4UIcmdWithAnInteger * verboseCmd
G4StackManager * fContainer
G4int GetNWaitingTrack(int i=0) const
G4UIcmdWithoutParameter * statusCmd
G4GLOB_DLL std::ostream G4cout
G4UIcmdWithAnInteger * clearCmd
void SetVerboseLevel(G4int const value)
G4int GetNUrgentTrack() const
void ClearPostponeStack()
#define G4endl
Definition: G4ios.hh:61
void ClearWaitingStack(int i=0)
Here is the call graph for this function:

Member Data Documentation

◆ clearCmd

G4UIcmdWithAnInteger* G4StackingMessenger::clearCmd
private

Definition at line 58 of file G4StackingMessenger.hh.

◆ fContainer

G4StackManager* G4StackingMessenger::fContainer
private

Definition at line 55 of file G4StackingMessenger.hh.

◆ stackDir

G4UIdirectory* G4StackingMessenger::stackDir
private

Definition at line 56 of file G4StackingMessenger.hh.

◆ statusCmd

G4UIcmdWithoutParameter* G4StackingMessenger::statusCmd
private

Definition at line 57 of file G4StackingMessenger.hh.

◆ verboseCmd

G4UIcmdWithAnInteger* G4StackingMessenger::verboseCmd
private

Definition at line 59 of file G4StackingMessenger.hh.


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