DetectorMessenger Class Reference

#include <DetectorMessenger.hh>

Inheritance diagram for DetectorMessenger:

Inheritance graph
[legend]
Collaboration diagram for DetectorMessenger:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DetectorMessenger (DetectorConstruction *)
 ~DetectorMessenger ()
void SetNewValue (G4UIcommand *, G4String)

Private Attributes

DetectorConstructionm_detector
G4UIdirectory * m_detDir
G4UIcmdWithAString * m_materialCmd
G4UIcmdWithADoubleAndUnit * m_thicknessCmd
G4UIcmdWithADoubleAndUnit * m_radiusCmd
G4UIcmdWithADoubleAndUnit * m_lengthCmd
G4UIcmdWithoutParameter * m_updateCmd


Detailed Description

Definition at line 21 of file DetectorMessenger.hh.


Constructor & Destructor Documentation

DetectorMessenger::DetectorMessenger ( DetectorConstruction Det  ) 

Definition at line 16 of file DetectorMessenger.cc.

00017 :m_detector(Det)
00018 { 
00019   m_detDir = new G4UIdirectory("/tutorial/det/");
00020   m_detDir->SetGuidance("detector construction commands");
00021 
00022   m_materialCmd = new G4UIcmdWithAString ("/tutorial/det/spacecraftMaterial", this);
00023   m_materialCmd->SetGuidance("Select spacecraft material");
00024   m_materialCmd->SetParameterName("spacecraftMaterial",false);
00025 
00026   m_thicknessCmd = new G4UIcmdWithADoubleAndUnit("/tutorial/det/spacecraftThickness",this);
00027   m_thicknessCmd->SetGuidance("Select spacecraft thickness");
00028   m_thicknessCmd->SetParameterName("spacecraftThickness",false);
00029   m_thicknessCmd->SetRange("spacecraftThickness>0.");
00030   m_thicknessCmd->SetUnitCategory("Length");
00031   
00032   m_radiusCmd = new G4UIcmdWithADoubleAndUnit ("/tutorial/det/cabinRadius", this);
00033   m_radiusCmd->SetGuidance("Select spacecraft radius");
00034   m_radiusCmd->SetParameterName("cabinRadius",false);
00035   m_radiusCmd->SetUnitCategory("Length");
00036 
00037   m_lengthCmd = new G4UIcmdWithADoubleAndUnit ("/tutorial/det/cabinLength", this);
00038   m_lengthCmd->SetGuidance("Select spacecraft length");
00039   m_lengthCmd->SetParameterName("spacecraftLength",false);
00040   m_lengthCmd->SetRange("cabinLength>0.&&cabinLength<20*m");
00041   m_lengthCmd->SetUnitCategory("Length");
00042      
00043   m_updateCmd = new G4UIcmdWithoutParameter("/tutorial/det/update",this);
00044   m_updateCmd->SetGuidance("force to recompute geometry.");
00045   m_updateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
00046   m_updateCmd->SetGuidance("if you changed geometrical value(s).");
00047   m_updateCmd->AvailableForStates(G4State_Idle);
00048 }

DetectorMessenger::~DetectorMessenger (  ) 

Definition at line 52 of file DetectorMessenger.cc.

00053 {
00054   delete m_materialCmd;
00055   delete m_thicknessCmd;  
00056   delete m_radiusCmd;
00057   delete m_lengthCmd;
00058   delete m_updateCmd;
00059   
00060   delete m_detDir;  
00061 }


Member Function Documentation

void DetectorMessenger::SetNewValue ( G4UIcommand *  command,
G4String  newValue 
)

Definition at line 65 of file DetectorMessenger.cc.

00066 {
00067   if( command == m_materialCmd )
00068    { m_detector->SetSpacecraftMaterial(newValue);}
00069      
00070   if( command == m_thicknessCmd )
00071    { m_detector->SetSpacecraftThickness(m_thicknessCmd->GetNewDoubleValue(newValue));} 
00072             
00073   if( command == m_radiusCmd )
00074    { m_detector->SetCabinRadius(m_radiusCmd->GetNewDoubleValue(newValue));}
00075    
00076   if( command == m_lengthCmd )
00077    { m_detector->SetCabinLength(m_lengthCmd->GetNewDoubleValue(newValue));}
00078               
00079   if( command == m_updateCmd )
00080    { m_detector->UpdateGeometry();}
00081 }


Member Data Documentation

Definition at line 32 of file DetectorMessenger.hh.

Referenced by SetNewValue().

G4UIdirectory* DetectorMessenger::m_detDir [private]

Definition at line 34 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), and ~DetectorMessenger().

G4UIcmdWithAString* DetectorMessenger::m_materialCmd [private]

Definition at line 36 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), SetNewValue(), and ~DetectorMessenger().

G4UIcmdWithADoubleAndUnit* DetectorMessenger::m_thicknessCmd [private]

Definition at line 37 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), SetNewValue(), and ~DetectorMessenger().

G4UIcmdWithADoubleAndUnit* DetectorMessenger::m_radiusCmd [private]

Definition at line 38 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), SetNewValue(), and ~DetectorMessenger().

G4UIcmdWithADoubleAndUnit* DetectorMessenger::m_lengthCmd [private]

Definition at line 39 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), SetNewValue(), and ~DetectorMessenger().

G4UIcmdWithoutParameter* DetectorMessenger::m_updateCmd [private]

Definition at line 41 of file DetectorMessenger.hh.

Referenced by DetectorMessenger(), SetNewValue(), and ~DetectorMessenger().


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

Generated on Fri Nov 21 10:20:35 2008 for jour3d by  doxygen 1.5.7.1