MyVGeometryParameterMessenger Class Reference

#include <MyVGeometryParameterMessenger.hh>

Inheritance diagram for MyVGeometryParameterMessenger:
SimpleGeometryParameterMessenger

List of all members.

Public Member Functions

 MyVGeometryParameterMessenger (MyVGeometryParameter *, G4String)
virtual ~MyVGeometryParameterMessenger ()
int MySetNewValue (G4UIcommand *, G4String)
G4String get_Name ()
MyVGeometryParameterget_GeometryParameter ()
G4String get_GeoDirName ()
void set_Name (G4String val)
void set_GeometryParameter (MyVGeometryParameter *val)
void set_GeoDirName (G4String val)

Private Attributes

G4UIdirectory * g4simDir
G4UIdirectory * detDir
G4UIdirectory * geoDir
G4UIcmdWithABool * set_checkoverlap_cmd
G4UIcmdWithAnInteger * set_VerboseLevel_cmd
G4UIcmdWithAString * ReadCard_cmd
G4String m_Name
G4String m_GeoDirName
MyVGeometryParameterm_GeometryParameter

Detailed Description

Definition at line 20 of file MyVGeometryParameterMessenger.hh.


Constructor & Destructor Documentation

MyVGeometryParameterMessenger::MyVGeometryParameterMessenger ( MyVGeometryParameter fGeometryParameter,
G4String  name 
)

Definition at line 18 of file MyVGeometryParameterMessenger.cc.

References detDir, g4simDir, geoDir, m_GeoDirName, ReadCard_cmd, set_checkoverlap_cmd, set_GeometryParameter(), set_Name(), and set_VerboseLevel_cmd.

00019 {
00020         set_Name(name);
00021         set_GeometryParameter(fGeometryParameter);
00022 
00023         m_GeoDirName = "/g4sim/det/" + name + "/";
00024 
00025   g4simDir = new G4UIdirectory("/g4sim/");
00026   g4simDir->SetGuidance("UI commands of this example");
00027 
00028   detDir = new G4UIdirectory("/g4sim/det/");
00029   detDir->SetGuidance("detector control");
00030 
00031         geoDir = new G4UIdirectory(m_GeoDirName);
00032         geoDir->SetGuidance("geometry control");
00033 
00034         G4String CmdName;
00035 
00036         CmdName = m_GeoDirName + "ReadCard";
00037         ReadCard_cmd = new G4UIcmdWithAString(CmdName, this);
00038   ReadCard_cmd->SetGuidance("ReadCard.");
00039   ReadCard_cmd->SetParameterName("filename",false);
00040   ReadCard_cmd->AvailableForStates(G4State_PreInit,G4State_Idle);
00041 
00042   CmdName = m_GeoDirName + "checkoverlap";
00043   set_checkoverlap_cmd = new G4UIcmdWithABool(CmdName, this);
00044   set_checkoverlap_cmd->SetGuidance("set checkoverlap.");
00045   set_checkoverlap_cmd->SetParameterName("checkoverlap",false);
00046   set_checkoverlap_cmd->AvailableForStates(G4State_PreInit,G4State_Idle);
00047 
00048   CmdName = m_GeoDirName + "VerboseLevel";
00049   set_VerboseLevel_cmd = new G4UIcmdWithAnInteger(CmdName, this);
00050   set_VerboseLevel_cmd->SetGuidance("set VerboseLevel.");
00051   set_VerboseLevel_cmd->SetParameterName("VerboseLevel",false);
00052   set_VerboseLevel_cmd->AvailableForStates(G4State_PreInit,G4State_Idle);
00053 }

MyVGeometryParameterMessenger::~MyVGeometryParameterMessenger (  )  [virtual]

Definition at line 55 of file MyVGeometryParameterMessenger.cc.

References detDir, g4simDir, geoDir, ReadCard_cmd, set_checkoverlap_cmd, and set_VerboseLevel_cmd.

00056 {
00057         delete g4simDir;
00058         delete geoDir;
00059         delete detDir;
00060   delete ReadCard_cmd;
00061   delete set_checkoverlap_cmd;
00062   delete set_VerboseLevel_cmd;
00063 }


Member Function Documentation

G4String MyVGeometryParameterMessenger::get_GeoDirName (  )  [inline]
MyVGeometryParameter* MyVGeometryParameterMessenger::get_GeometryParameter (  )  [inline]

Reimplemented in SimpleGeometryParameterMessenger.

Definition at line 31 of file MyVGeometryParameterMessenger.hh.

References m_GeometryParameter.

Referenced by MySetNewValue().

00031 { return m_GeometryParameter; }

G4String MyVGeometryParameterMessenger::get_Name (  )  [inline]

Definition at line 30 of file MyVGeometryParameterMessenger.hh.

References m_Name.

00030 { return m_Name; }

int MyVGeometryParameterMessenger::MySetNewValue ( G4UIcommand *  command,
G4String  newValue 
)

Reimplemented in SimpleGeometryParameterMessenger.

Definition at line 65 of file MyVGeometryParameterMessenger.cc.

References get_GeometryParameter(), MyVGeometryParameter::InitFromFile(), m_GeometryParameter, ReadCard_cmd, MyVGeometryParameter::set_checkoverlap(), set_checkoverlap_cmd, MyVGeometryParameter::set_VerboseLevel(), and set_VerboseLevel_cmd.

00066 {
00067 
00068         int status = 0; //0 means found the value
00069 
00070         MyVGeometryParameter* fMyVGeometryParameter = get_GeometryParameter();
00071 
00072   if( command == ReadCard_cmd ) { m_GeometryParameter->InitFromFile(newValue); }
00073 
00074   else if( command == set_checkoverlap_cmd ) { fMyVGeometryParameter->set_checkoverlap(set_checkoverlap_cmd->GetNewBoolValue(newValue));}
00075 
00076   else if( command == set_VerboseLevel_cmd ) { fMyVGeometryParameter->set_VerboseLevel(set_VerboseLevel_cmd->GetNewIntValue(newValue));}
00077 
00078         else status = 1;
00079 
00080         return status;
00081 
00082 }

void MyVGeometryParameterMessenger::set_GeoDirName ( G4String  val  )  [inline]

Definition at line 37 of file MyVGeometryParameterMessenger.hh.

References m_GeoDirName.

00037 { m_GeoDirName = val; }

void MyVGeometryParameterMessenger::set_GeometryParameter ( MyVGeometryParameter val  )  [inline]

Definition at line 36 of file MyVGeometryParameterMessenger.hh.

References m_GeometryParameter.

Referenced by MyVGeometryParameterMessenger().

00036 { m_GeometryParameter = val; }

void MyVGeometryParameterMessenger::set_Name ( G4String  val  )  [inline]

Definition at line 35 of file MyVGeometryParameterMessenger.hh.

References m_Name.

Referenced by MyVGeometryParameterMessenger().

00035 { m_Name = val; }


Member Data Documentation

G4UIdirectory* MyVGeometryParameterMessenger::detDir [private]
G4UIdirectory* MyVGeometryParameterMessenger::g4simDir [private]
G4UIdirectory* MyVGeometryParameterMessenger::geoDir [private]

Definition at line 49 of file MyVGeometryParameterMessenger.hh.

Referenced by get_Name(), and set_Name().

G4UIcmdWithAString* MyVGeometryParameterMessenger::ReadCard_cmd [private]
G4UIcmdWithAnInteger* MyVGeometryParameterMessenger::set_VerboseLevel_cmd [private]

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

Generated on 15 Jun 2016 for g4sim by  doxygen 1.6.1