DetectorConstruction Class Reference

#include <DetectorConstruction.hh>

Inheritance diagram for DetectorConstruction:

Inheritance graph
[legend]
Collaboration diagram for DetectorConstruction:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DetectorConstruction ()
 ~DetectorConstruction ()
void SetWorldMaterial (G4String)
void SetSpacecraftMaterial (G4String)
void SetCabinMaterial (G4String)
void SetFloorMaterial (G4String)
void SetAstronautMaterial (G4String)
void SetWorldSizeXY (G4double val)
void SetWorldSizeZ (G4double val)
void SetSpacecraftRadius (G4double val)
void SetSpacecraftLength (G4double val)
void SetSpacecraftThickness (G4double val)
void SetCabinRadius (G4double val)
void SetCabinLength (G4double val)
void SetFloorThickness (G4double val)
void SetFloorWidth (G4double val)
void SetFloorLength (G4double val)
void SetFloorYcenter (G4double val)
void SetAstronautHeight (G4double val)
void SetAstronautTopWidth (G4double val)
void SetAstronautBottomWidth (G4double val)
void SetAstronautPosition (G4double val)
G4VPhysicalVolume * Construct ()
void UpdateGeometry ()
G4VPhysicalVolume * GetWorld ()
G4VPhysicalVolume * GetSpacecraft ()
G4VPhysicalVolume * GetCabin ()
G4VPhysicalVolume * GetFloor ()
G4VPhysicalVolume * GetAstronaut ()
G4Material * GetWorldMaterial ()
G4Material * GetSpacecraftMaterial ()
G4Material * GetCabinMaterial ()
G4Material * GetFloorMaterial ()
G4Material * GetAstronautMaterial ()
G4double GetWorldSizeXY ()
G4double GetWorldSizeZ ()
G4double GetSpacecraftRadius ()
G4double GetSpacecraftLength ()
G4double GetSpacecraftThickness ()
G4double GetCabinRadius ()
G4double GetCabinLength ()
G4double GetFloorThickness ()
G4double GetFloorWidth ()
G4double GetFloorLength ()
G4double GetFloorYcenter ()
G4double GetAstronautHeight ()
G4double GetAstronautTopWidth ()
G4double GetAstronautBottomWidth ()
G4double GetAstronautPosition ()
void PrintParameters ()

Private Member Functions

void DefineMaterials ()
G4VPhysicalVolume * ConstructVolumes ()

Private Attributes

G4VPhysicalVolume * m_physiWorld
G4VPhysicalVolume * m_physiSpacecraft
G4VPhysicalVolume * m_physiCabin
G4VPhysicalVolume * m_physiFloor
G4VPhysicalVolume * m_physiAstronaut
G4Material * m_worldMaterial
G4Material * m_spacecraftMaterial
G4Material * m_cabinMaterial
G4Material * m_floorMaterial
G4Material * m_astronautMaterial
G4double m_worldSizeXY
G4double m_worldSizeZ
G4double m_spacecraftRadius
G4double m_spacecraftLength
G4double m_spacecraftThickness
G4double m_cabinRadius
G4double m_cabinLength
G4double m_floorThickness
G4double m_floorWidth
G4double m_floorLength
G4double m_floorYcenter
G4double m_astronautHeight
G4double m_astronautTopWidth
G4double m_astronautBottomWidth
G4double m_astronautPosition
DetectorMessengerm_detectorMessenger


Detailed Description

Definition at line 19 of file DetectorConstruction.hh.


Constructor & Destructor Documentation

DetectorConstruction::DetectorConstruction (  ) 

Definition at line 33 of file DetectorConstruction.cc.

00034 {  
00035   DefineMaterials();
00036   
00037   //define geometrical parameters
00038   //
00039   m_cabinRadius = 50*cm;       
00040   m_cabinLength = 80*cm;
00041   m_spacecraftThickness = 2*cm;
00042   
00043   m_floorThickness = 2*cm;
00044 
00045   m_astronautHeight = 50*cm;
00046   m_astronautTopWidth = 40*cm;
00047   m_astronautBottomWidth = 60*cm;
00048     
00049   // create commands for interactive definition of the detector  
00050   m_detectorMessenger = new DetectorMessenger(this);        
00051 }

DetectorConstruction::~DetectorConstruction (  ) 

Definition at line 55 of file DetectorConstruction.cc.

00056 {delete m_detectorMessenger;  }


Member Function Documentation

void DetectorConstruction::SetWorldMaterial ( G4String  materialChoice  ) 

Definition at line 342 of file DetectorConstruction.cc.

00343 {
00344   // search the material by its name   
00345   G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
00346   if (pttoMaterial) m_worldMaterial = pttoMaterial;
00347 }

void DetectorConstruction::SetSpacecraftMaterial ( G4String  materialChoice  ) 

Definition at line 351 of file DetectorConstruction.cc.

Referenced by DetectorMessenger::SetNewValue().

00352 {
00353   // search the material by its name   
00354   G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
00355   if (pttoMaterial) m_spacecraftMaterial = pttoMaterial;
00356 }

void DetectorConstruction::SetCabinMaterial ( G4String  materialChoice  ) 

Definition at line 360 of file DetectorConstruction.cc.

00361 {
00362   // search the material by its name   
00363   G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
00364   if (pttoMaterial) m_cabinMaterial = pttoMaterial;
00365 }

void DetectorConstruction::SetFloorMaterial ( G4String  materialChoice  ) 

Definition at line 369 of file DetectorConstruction.cc.

00370 {
00371   // search the material by its name   
00372   G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
00373   if (pttoMaterial) m_floorMaterial = pttoMaterial;
00374 }

void DetectorConstruction::SetAstronautMaterial ( G4String  materialChoice  ) 

Definition at line 378 of file DetectorConstruction.cc.

00379 {
00380   // search the material by its name   
00381   G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
00382   if (pttoMaterial) m_astronautMaterial = pttoMaterial;
00383 }

void DetectorConstruction::SetWorldSizeXY ( G4double  val  )  [inline]

Definition at line 34 of file DetectorConstruction.hh.

00034 {m_worldSizeXY = val;};

void DetectorConstruction::SetWorldSizeZ ( G4double  val  )  [inline]

Definition at line 35 of file DetectorConstruction.hh.

00035 {m_worldSizeZ = val;};

void DetectorConstruction::SetSpacecraftRadius ( G4double  val  )  [inline]

Definition at line 36 of file DetectorConstruction.hh.

00036 {m_spacecraftRadius = val;};

void DetectorConstruction::SetSpacecraftLength ( G4double  val  )  [inline]

Definition at line 37 of file DetectorConstruction.hh.

00037 {m_spacecraftLength = val;};

void DetectorConstruction::SetSpacecraftThickness ( G4double  val  )  [inline]

Definition at line 38 of file DetectorConstruction.hh.

Referenced by DetectorMessenger::SetNewValue().

00038 {m_spacecraftThickness = val;};

void DetectorConstruction::SetCabinRadius ( G4double  val  )  [inline]

Definition at line 39 of file DetectorConstruction.hh.

Referenced by DetectorMessenger::SetNewValue().

00039 {m_cabinRadius = val;};

void DetectorConstruction::SetCabinLength ( G4double  val  )  [inline]

Definition at line 40 of file DetectorConstruction.hh.

Referenced by DetectorMessenger::SetNewValue().

00040 {m_cabinLength = val;};

void DetectorConstruction::SetFloorThickness ( G4double  val  )  [inline]

Definition at line 41 of file DetectorConstruction.hh.

00041 {m_floorThickness = val;};

void DetectorConstruction::SetFloorWidth ( G4double  val  )  [inline]

Definition at line 42 of file DetectorConstruction.hh.

00042 {m_floorWidth = val;};

void DetectorConstruction::SetFloorLength ( G4double  val  )  [inline]

Definition at line 43 of file DetectorConstruction.hh.

00043 {m_floorLength = val;};

void DetectorConstruction::SetFloorYcenter ( G4double  val  )  [inline]

Definition at line 44 of file DetectorConstruction.hh.

00044 {m_floorYcenter = val;};

void DetectorConstruction::SetAstronautHeight ( G4double  val  )  [inline]

Definition at line 45 of file DetectorConstruction.hh.

00045 {m_astronautHeight = val;};

void DetectorConstruction::SetAstronautTopWidth ( G4double  val  )  [inline]

Definition at line 46 of file DetectorConstruction.hh.

00046 {m_astronautTopWidth = val;};

void DetectorConstruction::SetAstronautBottomWidth ( G4double  val  )  [inline]

Definition at line 47 of file DetectorConstruction.hh.

00047 {m_astronautBottomWidth = val;};     

void DetectorConstruction::SetAstronautPosition ( G4double  val  )  [inline]

Definition at line 48 of file DetectorConstruction.hh.

00048 {m_astronautPosition = val;};

G4VPhysicalVolume * DetectorConstruction::Construct (  ) 

Definition at line 60 of file DetectorConstruction.cc.

00061 {
00062   return ConstructVolumes();
00063 }

void DetectorConstruction::UpdateGeometry (  ) 

Definition at line 389 of file DetectorConstruction.cc.

Referenced by DetectorMessenger::SetNewValue().

00390 {
00391   G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes());
00392 }

G4VPhysicalVolume* DetectorConstruction::GetWorld (  )  [inline]

Definition at line 55 of file DetectorConstruction.hh.

00055 {return m_physiWorld;};

G4VPhysicalVolume* DetectorConstruction::GetSpacecraft (  )  [inline]

Definition at line 56 of file DetectorConstruction.hh.

00056 {return m_physiSpacecraft;};

G4VPhysicalVolume* DetectorConstruction::GetCabin (  )  [inline]

Definition at line 57 of file DetectorConstruction.hh.

00057 {return m_physiCabin;};

G4VPhysicalVolume* DetectorConstruction::GetFloor (  )  [inline]

Definition at line 58 of file DetectorConstruction.hh.

00058 {return m_physiFloor;};     

G4VPhysicalVolume* DetectorConstruction::GetAstronaut (  )  [inline]

Definition at line 59 of file DetectorConstruction.hh.

Referenced by RunAction::EndOfRunAction(), and SteppingAction::UserSteppingAction().

00059 {return m_physiAstronaut;};

G4Material* DetectorConstruction::GetWorldMaterial (  )  [inline]

Definition at line 61 of file DetectorConstruction.hh.

00061 {return m_worldMaterial;};                                  

G4Material* DetectorConstruction::GetSpacecraftMaterial (  )  [inline]

Definition at line 62 of file DetectorConstruction.hh.

00062 {return m_spacecraftMaterial;};

G4Material* DetectorConstruction::GetCabinMaterial (  )  [inline]

Definition at line 63 of file DetectorConstruction.hh.

00063 {return m_cabinMaterial;};     

G4Material* DetectorConstruction::GetFloorMaterial (  )  [inline]

Definition at line 64 of file DetectorConstruction.hh.

00064 {return m_floorMaterial;};

G4Material* DetectorConstruction::GetAstronautMaterial (  )  [inline]

Definition at line 65 of file DetectorConstruction.hh.

00065 {return m_astronautMaterial;};

G4double DetectorConstruction::GetWorldSizeXY (  )  [inline]

Definition at line 67 of file DetectorConstruction.hh.

Referenced by PrimaryGeneratorAction::GeneratePrimaries().

00067 {return m_worldSizeXY;};

G4double DetectorConstruction::GetWorldSizeZ (  )  [inline]

Definition at line 68 of file DetectorConstruction.hh.

Referenced by PrimaryGeneratorAction::GeneratePrimaries().

00068 {return m_worldSizeZ;};

G4double DetectorConstruction::GetSpacecraftRadius (  )  [inline]

Definition at line 69 of file DetectorConstruction.hh.

00069 {return m_spacecraftRadius;};            

G4double DetectorConstruction::GetSpacecraftLength (  )  [inline]

Definition at line 70 of file DetectorConstruction.hh.

00070 {return m_spacecraftLength;};    

G4double DetectorConstruction::GetSpacecraftThickness (  )  [inline]

Definition at line 71 of file DetectorConstruction.hh.

00071 {return m_spacecraftThickness;};

G4double DetectorConstruction::GetCabinRadius (  )  [inline]

Definition at line 72 of file DetectorConstruction.hh.

00072 {return m_cabinRadius;};            

G4double DetectorConstruction::GetCabinLength (  )  [inline]

Definition at line 73 of file DetectorConstruction.hh.

00073 {return m_cabinLength;};         

G4double DetectorConstruction::GetFloorThickness (  )  [inline]

Definition at line 74 of file DetectorConstruction.hh.

00074 {return m_floorThickness;};     

G4double DetectorConstruction::GetFloorWidth (  )  [inline]

Definition at line 75 of file DetectorConstruction.hh.

00075 {return m_floorWidth;};     

G4double DetectorConstruction::GetFloorLength (  )  [inline]

Definition at line 76 of file DetectorConstruction.hh.

00076 {return m_floorLength;};

G4double DetectorConstruction::GetFloorYcenter (  )  [inline]

Definition at line 77 of file DetectorConstruction.hh.

00077 {return m_floorYcenter;};     

G4double DetectorConstruction::GetAstronautHeight (  )  [inline]

G4double DetectorConstruction::GetAstronautTopWidth (  )  [inline]

Definition at line 79 of file DetectorConstruction.hh.

00079 {return m_astronautTopWidth;};

G4double DetectorConstruction::GetAstronautBottomWidth (  )  [inline]

Definition at line 80 of file DetectorConstruction.hh.

00080 {return m_astronautBottomWidth;};     

G4double DetectorConstruction::GetAstronautPosition (  )  [inline]

Definition at line 81 of file DetectorConstruction.hh.

00081 {return m_astronautPosition;};

void DetectorConstruction::PrintParameters (  ) 

Definition at line 310 of file DetectorConstruction.cc.

Referenced by ConstructVolumes().

00311 {
00312   G4cout << "\n---------------------------------------------------------\n";
00313   G4cout 
00314     << "---> World : (" << m_worldSizeXY/m << " X " << m_worldSizeXY/m << " X "
00315                         << m_worldSizeZ/m << ") m of "
00316                         << m_worldMaterial->GetName() << G4endl;
00317   G4cout
00318     << "---> Spacecraft : radius = " << G4BestUnit(m_spacecraftRadius,"Length")
00319     << "\t length = " << G4BestUnit(m_spacecraftLength,"Length")
00320     << "\t thickness = " << G4BestUnit(m_spacecraftThickness,"Length")        
00321     << "\t material : " << m_spacecraftMaterial->GetName() << G4endl;
00322   G4cout
00323     << "---> Cabin : radius = " << G4BestUnit(m_cabinRadius,"Length")
00324     << "\t length = " << G4BestUnit(m_cabinLength,"Length")
00325     << "\t material : " << m_cabinMaterial->GetName() << G4endl;
00326   G4cout
00327     << "---> Floor : thickness = " << G4BestUnit(m_floorThickness,"Length")
00328     << "\t width = " << G4BestUnit(m_floorWidth,"Length")    
00329     << "\t length = " << G4BestUnit(m_floorLength,"Length")
00330     << "\t material : " << m_floorMaterial->GetName() << G4endl;
00331   G4cout
00332     << "---> Astronaut : height = " << G4BestUnit(m_astronautHeight,"Length")
00333     << "\t bottom width = " << G4BestUnit(m_astronautBottomWidth,"Length")
00334     << "\t top width = " << G4BestUnit(m_astronautTopWidth,"Length")    
00335     << "\t material : " << m_astronautMaterial->GetName() << G4endl;            
00336   G4cout << "\n---------------------------------------------------------\n";
00337   G4cout << G4endl;
00338 }

void DetectorConstruction::DefineMaterials (  )  [private]

Definition at line 67 of file DetectorConstruction.cc.

Referenced by DetectorConstruction().

00068 { 
00069   //
00070   // define simple materials
00071   //
00072   G4double Z,A,density;
00073   
00074   G4Material* Al =
00075   new G4Material("Aluminium", Z=13., A=26.98*g/mole, density=2.700*g/cm3);
00076   
00077   //
00078   // build compounds from Elements
00079   //
00080   G4Element* H  = new G4Element("Hydrogen" ,"H" , Z=1., A= 1.01*g/mole);  
00081   G4Element* N  = new G4Element("Nitrogen" ,"N" , Z=7., A=14.01*g/mole);
00082   G4Element* O  = new G4Element("Oxygen"   ,"O" , Z=8., A=16.00*g/mole);
00083 
00084   G4int ncomponents, natoms;
00085   G4double fractionmass;  
00086   
00087   G4Material* Air = 
00088   new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2);
00089   Air->AddElement(N, fractionmass=70.*perCent);
00090   Air->AddElement(O, fractionmass=30.*perCent);
00091 
00092   G4Material* H2O = 
00093   new G4Material("Water", density= 1.000*g/cm3, ncomponents=2);
00094   H2O->AddElement(H, natoms=2);
00095   H2O->AddElement(O, natoms=1);
00096         
00097   // Vacuum standard definition...
00098   //
00099   G4Material* Vacuum =
00100   new G4Material("Galactic", Z=1., A=1.01*g/mole, density= 1.e-10*g/cm3,
00101                            kStateGas, 2.73*kelvin, 3.e-18*pascal);
00102                            
00103   //associate materials
00104   //
00105   m_worldMaterial = Vacuum;
00106   m_spacecraftMaterial = m_floorMaterial = Al;
00107   m_cabinMaterial = Air;
00108   m_astronautMaterial = H2O;
00109                              
00110   // Print
00111   //
00112   G4cout << *(G4Material::GetMaterialTable()) << G4endl;
00113 }

G4VPhysicalVolume * DetectorConstruction::ConstructVolumes (  )  [private]

Definition at line 117 of file DetectorConstruction.cc.

Referenced by Construct(), and UpdateGeometry().

00118 {
00119   // Cleanup old geometry
00120   G4GeometryManager::GetInstance()->OpenGeometry();
00121   G4PhysicalVolumeStore::GetInstance()->Clean();
00122   G4LogicalVolumeStore::GetInstance()->Clean();
00123   G4SolidStore::GetInstance()->Clean();
00124   
00125   //define geometrical parameters
00126   //    
00127   m_spacecraftRadius = m_cabinRadius + m_spacecraftThickness;       
00128   m_spacecraftLength = m_cabinLength + 2*m_spacecraftThickness;
00129   
00130   m_floorYcenter   = - 0.5*m_cabinRadius;
00131   G4double floorYtop      = m_floorYcenter + 0.5*m_floorThickness;
00132   G4double floorYbottom   = m_floorYcenter - 0.5*m_floorThickness;      
00133   m_floorWidth =
00134           2*std::sqrt(m_cabinRadius*m_cabinRadius - floorYbottom*floorYbottom);
00135   m_floorLength    = m_cabinLength;
00136     
00137   m_worldSizeXY = 2.2*m_spacecraftRadius;
00138   m_worldSizeZ  = 1.1*m_spacecraftLength;
00139   
00140   m_astronautPosition = floorYtop + 0.5*m_astronautHeight;
00141   
00142     
00143   // World volume
00144   //
00145 
00146   G4Box*
00147   solidWorld = new G4Box("World",                                  //its name
00148                  m_worldSizeXY/2,m_worldSizeXY/2,m_worldSizeZ/2);  //its size
00149   
00150   G4LogicalVolume*  
00151   logicWorld = new G4LogicalVolume(solidWorld,          //its solid
00152                                    m_worldMaterial,     //its material
00153                                    "World");            //its name
00154 
00155   m_physiWorld = new G4PVPlacement(0,                   //no rotation
00156                                  G4ThreeVector(),       //at (0,0,0)
00157                                  logicWorld,            //its logical volume
00158                                  "World",               //its name
00159                                  0,                     //its mother  volume
00160                                  false,                 //no boolean operation
00161                                  0);                    //copy number
00162                                  
00163   // SpaceCraft volume
00164   //
00165   G4Tubs*
00166   solidSpacecraft = new G4Tubs("Spacecraft",            //name
00167                          0*cm, m_spacecraftRadius,      //r1, r2
00168                          0.5*m_spacecraftLength,        //half-length 
00169                          0., twopi);                    //teta1, teta2
00170                          
00171   G4LogicalVolume*    
00172   logicSpacecraft = new G4LogicalVolume(solidSpacecraft,   //solid
00173                                     m_spacecraftMaterial,  //material
00174                                         "Spacecraft");     //name
00175   
00176   m_physiSpacecraft = new G4PVPlacement(0,              //no rotation
00177                                   G4ThreeVector(0,0,0), //position
00178                                   logicSpacecraft,      //logicalVolume
00179                                   "Spacecraft",         //name
00180                                    logicWorld,          //mother
00181                                    false,               //no boolean
00182                                    0);                  //copy nb
00183   
00184   // Cabin
00185   //
00186   G4Tubs*
00187   solidCabin = new G4Tubs("Cabin",                      //name
00188                          0*cm, m_cabinRadius,           //r1, r2
00189                          0.5*m_cabinLength,             //half-length 
00190                          0., 360*deg);                  //teta1, teta2
00191                          
00192   G4LogicalVolume*    
00193   logicCabin = new G4LogicalVolume(solidCabin,          //solid
00194                                    m_cabinMaterial,     //material
00195                                    "Cabin");            //name
00196                                           
00197   m_physiCabin = new G4PVPlacement(0,                   //no rotation
00198                                  G4ThreeVector(0,0,0),  //position
00199                                  logicCabin,            //logicalVolume
00200                                  "Cabin",               //name
00201                                   logicSpacecraft,      //mother
00202                                   false,                //no boolean
00203                                   0);                   //copy nb
00204   
00205 
00206   // Floor
00207   //
00208   G4Box*
00209   solidFloor = new G4Box("Floor",                                    //name
00210               m_floorWidth/2,m_floorLength/2,m_floorThickness/2);    //size
00211                     
00212   G4LogicalVolume*  
00213   logicFloor = new G4LogicalVolume(solidFloor, m_floorMaterial, "Floor");
00214   
00215   //rotation matrix to place the floor within cabin
00216   G4RotationMatrix* rotm1 = new G4RotationMatrix();
00217   rotm1->rotateX(90*deg);
00218 
00219   m_physiFloor = new G4PVPlacement(rotm1,               //rotation
00220                              G4ThreeVector(0,m_floorYcenter,0), //position 
00221                                  logicFloor,            //logicalVolume 
00222                                  "Floor",               //name 
00223                                  logicCabin,            //mother
00224                                  false,                 //no boolean
00225                                  0);                    //copy nb
00226                                  
00227   // Astronaut
00228   //
00229   G4Trd*
00230    solidAstronaut = new G4Trd("Astronaut",              //name
00231                0.5 * m_astronautBottomWidth,            //dx1
00232                0.5 * m_astronautTopWidth,               //dx2
00233                0.5 * m_astronautBottomWidth,            //dy1
00234                0.5 * m_astronautTopWidth,               //dy2
00235                0.5 * m_astronautHeight);                //dz
00236                          
00237   G4LogicalVolume*    
00238     logicAstronaut = new G4LogicalVolume(solidAstronaut,        //solid
00239                                          m_astronautMaterial,   //material
00240                                          "Astronaut");  //name
00241                                    
00242   //rotation matrix to place astronaut within cabin
00243   G4RotationMatrix* rotm2 = new G4RotationMatrix();
00244   rotm2->rotateX(90*deg);
00245   
00246   //translation vector to place astronaut within cabin
00247   G4ThreeVector position = G4ThreeVector(0.,m_astronautPosition,0.);                               
00248                                           
00249   m_physiAstronaut = new G4PVPlacement(rotm2,           //no rotation
00250                                  position,              //position
00251                                  logicAstronaut,        //logicalVolume
00252                                  "Astronaut",           //name
00253                                   logicCabin,           //mother
00254                                   false,                //no boolean
00255                                   0);                   //copy nb
00256 
00257 
00258   // ----------------------------------------------------------
00259   // -- Binding SensitiveDetector code to astronaut volume:
00260   // -- Note that it is possible to set the sensitive detector
00261   // -- at construction of the G4LogicalVolume (fith argument
00262   // -- is a G4VSensitiveDetector*).
00263   // ----------------------------------------------------------
00264   SensitiveDetector* sensitive = new SensitiveDetector("astronautSD");
00265   logicAstronaut->SetSensitiveDetector(sensitive);
00266   // -- inform the G4SDManager of this new sensitive detector object
00267   G4SDManager::GetSDMpointer()->AddNewDetector(sensitive);
00268 
00269 
00270   //colour attributes
00271   //
00272   
00273   G4VisAttributes* colourWhite= new G4VisAttributes(G4Colour(1.,1.,1.)); 
00274   colourWhite->SetVisibility(true);
00275   colourWhite->SetForceSolid(false);
00276   
00277   G4VisAttributes* colourGrey= new G4VisAttributes(G4Colour(0.5,0.5,0.5)); 
00278   colourGrey->SetVisibility(true);
00279   colourGrey->SetForceSolid(false);
00280   
00281   G4VisAttributes* colourCyan= new G4VisAttributes(G4Colour(0.,1.,1.)); 
00282   colourCyan->SetVisibility(true);
00283   colourCyan->SetForceSolid(false);
00284 
00285   G4VisAttributes* colourMagenta= new G4VisAttributes(G4Colour(1.,0.,1.)); 
00286   colourMagenta->SetVisibility(true);
00287   colourMagenta->SetForceSolid(true);
00288 
00289   G4VisAttributes* colourBlue= new G4VisAttributes(G4Colour(0.,0.,1.)); 
00290   colourBlue->SetVisibility(true);
00291   colourBlue->SetForceSolid(false);
00292   
00293   logicWorld->SetVisAttributes(colourGrey);
00294   logicSpacecraft->SetVisAttributes(colourCyan);
00295   logicCabin->SetVisAttributes(colourCyan);
00296   logicFloor->SetVisAttributes(colourWhite);
00297   logicAstronaut->SetVisAttributes(colourBlue);
00298     
00299   //print parameters
00300   //
00301   PrintParameters();
00302   
00303   // always return Physical World
00304   //
00305   return m_physiWorld;
00306 }


Member Data Documentation

G4VPhysicalVolume* DetectorConstruction::m_physiWorld [private]

Definition at line 92 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), and GetWorld().

G4VPhysicalVolume* DetectorConstruction::m_physiSpacecraft [private]

Definition at line 93 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), and GetSpacecraft().

G4VPhysicalVolume* DetectorConstruction::m_physiCabin [private]

Definition at line 94 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), and GetCabin().

G4VPhysicalVolume* DetectorConstruction::m_physiFloor [private]

Definition at line 95 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), and GetFloor().

G4VPhysicalVolume* DetectorConstruction::m_physiAstronaut [private]

Definition at line 96 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), and GetAstronaut().

Definition at line 117 of file DetectorConstruction.hh.

Referenced by ConstructVolumes(), GetFloorYcenter(), and SetFloorYcenter().

Definition at line 124 of file DetectorConstruction.hh.

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


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

Generated on Fri Nov 21 10:20:57 2008 for jour4b1 by  doxygen 1.5.7.1