Geant4  10.02.p03
CexmcSensitiveDetectorMessenger Class Reference

#include <CexmcSensitiveDetectorMessenger.hh>

Inheritance diagram for CexmcSensitiveDetectorMessenger:
Collaboration diagram for CexmcSensitiveDetectorMessenger:

Public Member Functions

 CexmcSensitiveDetectorMessenger (G4VPrimitiveScorer *scorer)
 
 ~CexmcSensitiveDetectorMessenger ()
 
void SetNewValue (G4UIcommand *cmd, G4String value)
 
- 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

G4VPrimitiveScorerscorer
 
G4UIdirectorydetectorPath
 
G4UIcmdWithAnIntegersetVerboseLevel
 

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 55 of file CexmcSensitiveDetectorMessenger.hh.

Constructor & Destructor Documentation

◆ CexmcSensitiveDetectorMessenger()

CexmcSensitiveDetectorMessenger::CexmcSensitiveDetectorMessenger ( G4VPrimitiveScorer scorer)
explicit

Definition at line 55 of file CexmcSensitiveDetectorMessenger.cc.

56  :
57  scorer( scorer ), detectorPath( NULL ), setVerboseLevel( NULL )
58 {
59  G4MultiFunctionalDetector * detector(
60  scorer->GetMultiFunctionalDetector() );
61  /* detector of the scorer must have been already initialized provided
62  * CexmcPrimitiveScorer::InitializeMessenger() was properly called upon
63  * creation of the setup */
64  if ( ! detector )
66 
67  G4String detectorFullPath( ( CexmcMessenger::detectorDirName +
68  detector->GetName() + "/" + scorer->GetName() + "/" ).
69  c_str() );
70  G4UImanager * uiManager( G4UImanager::GetUIpointer() );
71  if ( ! uiManager->GetTree()->FindCommandTree( detectorFullPath.c_str() ) )
72  {
73  detectorPath = new G4UIdirectory( detectorFullPath.c_str() );
74  detectorPath->SetGuidance( "Settings for given sensitive detector" );
75  }
76 
78  ( detectorFullPath + "verbose" ).c_str(), this );
79  setVerboseLevel->SetGuidance( "0 - do not print messages, "
80  "1 - print messages after an event" );
81  setVerboseLevel->SetParameterName( "Verbose", true );
84 
85 }
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4String detectorDirName
G4String GetName() const
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:58
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
G4MultiFunctionalDetector * GetMultiFunctionalDetector() const
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:239
void SetDefaultValue(G4int defVal)
Here is the call graph for this function:

◆ ~CexmcSensitiveDetectorMessenger()

CexmcSensitiveDetectorMessenger::~CexmcSensitiveDetectorMessenger ( )

Definition at line 88 of file CexmcSensitiveDetectorMessenger.cc.

89 {
90  delete detectorPath;
91  delete setVerboseLevel;
92 }

Member Function Documentation

◆ SetNewValue()

void CexmcSensitiveDetectorMessenger::SetNewValue ( G4UIcommand cmd,
G4String  value 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 95 of file CexmcSensitiveDetectorMessenger.cc.

97 {
98  do
99  {
100  if ( cmd == setVerboseLevel )
101  {
104  break;
105  }
106  } while ( false );
107 }
void SetVerboseLevel(G4int vl)
static G4int GetNewIntValue(const char *paramString)
Here is the call graph for this function:

Member Data Documentation

◆ detectorPath

G4UIdirectory* CexmcSensitiveDetectorMessenger::detectorPath
private

Definition at line 69 of file CexmcSensitiveDetectorMessenger.hh.

◆ scorer

G4VPrimitiveScorer* CexmcSensitiveDetectorMessenger::scorer
private

Definition at line 67 of file CexmcSensitiveDetectorMessenger.hh.

◆ setVerboseLevel

G4UIcmdWithAnInteger* CexmcSensitiveDetectorMessenger::setVerboseLevel
private

Definition at line 71 of file CexmcSensitiveDetectorMessenger.hh.


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