#include <DetectorConstruction.hh>


| 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) | 
| void | SetMagField (G4double) | 
| void | SetMaxStep (G4double) | 
| 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 | 
| G4UniformMagField * | m_magField | 
| G4UserLimits * | m_stepLimiter | 
| 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 | 
| DetectorMessenger * | m_detectorMessenger | 
Definition at line 21 of file DetectorConstruction.hh.
| DetectorConstruction::DetectorConstruction | ( | ) | 
Definition at line 32 of file DetectorConstruction.cc.
00033 { 00034 DefineMaterials(); 00035 00036 //define geometrical parameters 00037 // 00038 m_cabinRadius = 50*cm; 00039 m_cabinLength = 80*cm; 00040 m_spacecraftThickness = 2*cm; 00041 00042 m_floorThickness = 2*cm; 00043 00044 m_astronautHeight = 50*cm; 00045 m_astronautTopWidth = 40*cm; 00046 m_astronautBottomWidth = 60*cm; 00047 00048 m_magField = 0; 00049 m_stepLimiter = 0; 00050 00051 // create commands for interactive definition of the detector 00052 m_detectorMessenger = new DetectorMessenger(this); 00053 }
| DetectorConstruction::~DetectorConstruction | ( | ) | 
Definition at line 57 of file DetectorConstruction.cc.
00058 {delete m_stepLimiter; delete m_detectorMessenger; }
| void DetectorConstruction::SetWorldMaterial | ( | G4String | materialChoice | ) | 
Definition at line 343 of file DetectorConstruction.cc.
00344 { 00345 // search the material by its name 00346 G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); 00347 if (pttoMaterial) m_worldMaterial = pttoMaterial; 00348 }
| void DetectorConstruction::SetSpacecraftMaterial | ( | G4String | materialChoice | ) | 
Definition at line 352 of file DetectorConstruction.cc.
Referenced by DetectorMessenger::SetNewValue().
00353 { 00354 // search the material by its name 00355 G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); 00356 if (pttoMaterial) m_spacecraftMaterial = pttoMaterial; 00357 }
| void DetectorConstruction::SetCabinMaterial | ( | G4String | materialChoice | ) | 
Definition at line 361 of file DetectorConstruction.cc.
00362 { 00363 // search the material by its name 00364 G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); 00365 if (pttoMaterial) m_cabinMaterial = pttoMaterial; 00366 }
| void DetectorConstruction::SetFloorMaterial | ( | G4String | materialChoice | ) | 
Definition at line 370 of file DetectorConstruction.cc.
00371 { 00372 // search the material by its name 00373 G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); 00374 if (pttoMaterial) m_floorMaterial = pttoMaterial; 00375 }
| void DetectorConstruction::SetAstronautMaterial | ( | G4String | materialChoice | ) | 
Definition at line 379 of file DetectorConstruction.cc.
00380 { 00381 // search the material by its name 00382 G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); 00383 if (pttoMaterial) m_astronautMaterial = pttoMaterial; 00384 }
| void DetectorConstruction::SetWorldSizeXY | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetWorldSizeZ | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetSpacecraftRadius | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetSpacecraftLength | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetSpacecraftThickness | ( | G4double | val | ) |  [inline] | 
Definition at line 40 of file DetectorConstruction.hh.
Referenced by DetectorMessenger::SetNewValue().
00040 {m_spacecraftThickness = val;};
| void DetectorConstruction::SetCabinRadius | ( | G4double | val | ) |  [inline] | 
Definition at line 41 of file DetectorConstruction.hh.
Referenced by DetectorMessenger::SetNewValue().
00041 {m_cabinRadius = val;};
| void DetectorConstruction::SetCabinLength | ( | G4double | val | ) |  [inline] | 
Definition at line 42 of file DetectorConstruction.hh.
Referenced by DetectorMessenger::SetNewValue().
00042 {m_cabinLength = val;};
| void DetectorConstruction::SetFloorThickness | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetFloorWidth | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetFloorLength | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetFloorYcenter | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetAstronautHeight | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetAstronautTopWidth | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetAstronautBottomWidth | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetAstronautPosition | ( | G4double | val | ) |  [inline] | 
| void DetectorConstruction::SetMagField | ( | G4double | fieldValue | ) | 
Definition at line 391 of file DetectorConstruction.cc.
Referenced by DetectorMessenger::SetNewValue().
00392 { 00393 //apply a global uniform magnetic field along Z axis 00394 G4FieldManager* fieldMgr 00395 = G4TransportationManager::GetTransportationManager()->GetFieldManager(); 00396 00397 if (m_magField) delete m_magField; //delete the existing magn field 00398 00399 if (fieldValue!=0.) // create a new one if non nul 00400 { 00401 m_magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); 00402 fieldMgr->SetDetectorField(m_magField); 00403 fieldMgr->CreateChordFinder(m_magField); 00404 } 00405 else 00406 { 00407 m_magField = 0; 00408 fieldMgr->SetDetectorField(m_magField); 00409 } 00410 }
| void DetectorConstruction::SetMaxStep | ( | G4double | maxStep | ) | 
Definition at line 414 of file DetectorConstruction.cc.
Referenced by DetectorMessenger::SetNewValue().
00415 { 00416 if ((m_stepLimiter)&&(maxStep>0.)) 00417 m_stepLimiter->SetMaxAllowedStep(maxStep); 00418 }
| G4VPhysicalVolume * DetectorConstruction::Construct | ( | ) | 
Definition at line 62 of file DetectorConstruction.cc.
00063 { 00064 return ConstructVolumes(); 00065 }
| void DetectorConstruction::UpdateGeometry | ( | ) | 
Definition at line 424 of file DetectorConstruction.cc.
Referenced by DetectorMessenger::SetNewValue().
00425 { 00426 G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); 00427 }
| G4VPhysicalVolume* DetectorConstruction::GetWorld | ( | ) |  [inline] | 
| G4VPhysicalVolume* DetectorConstruction::GetSpacecraft | ( | ) |  [inline] | 
| G4VPhysicalVolume* DetectorConstruction::GetCabin | ( | ) |  [inline] | 
| G4VPhysicalVolume* DetectorConstruction::GetFloor | ( | ) |  [inline] | 
| G4VPhysicalVolume* DetectorConstruction::GetAstronaut | ( | ) |  [inline] | 
Definition at line 64 of file DetectorConstruction.hh.
Referenced by RunAction::EndOfRunAction(), and SteppingAction::UserSteppingAction().
00064 {return m_physiAstronaut;};
| G4Material* DetectorConstruction::GetWorldMaterial | ( | ) |  [inline] | 
| G4Material* DetectorConstruction::GetSpacecraftMaterial | ( | ) |  [inline] | 
| G4Material* DetectorConstruction::GetCabinMaterial | ( | ) |  [inline] | 
| G4Material* DetectorConstruction::GetFloorMaterial | ( | ) |  [inline] | 
| G4Material* DetectorConstruction::GetAstronautMaterial | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetWorldSizeXY | ( | ) |  [inline] | 
Definition at line 72 of file DetectorConstruction.hh.
Referenced by PrimaryGeneratorAction::GeneratePrimaries().
00072 {return m_worldSizeXY;};
| G4double DetectorConstruction::GetWorldSizeZ | ( | ) |  [inline] | 
Definition at line 73 of file DetectorConstruction.hh.
Referenced by PrimaryGeneratorAction::GeneratePrimaries().
00073 {return m_worldSizeZ;};
| G4double DetectorConstruction::GetSpacecraftRadius | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetSpacecraftLength | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetSpacecraftThickness | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetCabinRadius | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetCabinLength | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetFloorThickness | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetFloorWidth | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetFloorLength | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetFloorYcenter | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetAstronautHeight | ( | ) |  [inline] | 
Definition at line 83 of file DetectorConstruction.hh.
Referenced by RunAction::BeginOfRunAction(), and SteppingAction::UserSteppingAction().
00083 {return m_astronautHeight;};
| G4double DetectorConstruction::GetAstronautTopWidth | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetAstronautBottomWidth | ( | ) |  [inline] | 
| G4double DetectorConstruction::GetAstronautPosition | ( | ) |  [inline] | 
| void DetectorConstruction::PrintParameters | ( | ) | 
Definition at line 311 of file DetectorConstruction.cc.
Referenced by ConstructVolumes().
00312 { 00313 G4cout << "\n---------------------------------------------------------\n"; 00314 G4cout 00315 << "---> World : (" << m_worldSizeXY/m << " X " << m_worldSizeXY/m << " X " 00316 << m_worldSizeZ/m << ") m of " 00317 << m_worldMaterial->GetName() << G4endl; 00318 G4cout 00319 << "---> Spacecraft : radius = " << G4BestUnit(m_spacecraftRadius,"Length") 00320 << "\t length = " << G4BestUnit(m_spacecraftLength,"Length") 00321 << "\t thickness = " << G4BestUnit(m_spacecraftThickness,"Length") 00322 << "\t material : " << m_spacecraftMaterial->GetName() << G4endl; 00323 G4cout 00324 << "---> Cabin : radius = " << G4BestUnit(m_cabinRadius,"Length") 00325 << "\t length = " << G4BestUnit(m_cabinLength,"Length") 00326 << "\t material : " << m_cabinMaterial->GetName() << G4endl; 00327 G4cout 00328 << "---> Floor : thickness = " << G4BestUnit(m_floorThickness,"Length") 00329 << "\t width = " << G4BestUnit(m_floorWidth,"Length") 00330 << "\t length = " << G4BestUnit(m_floorLength,"Length") 00331 << "\t material : " << m_floorMaterial->GetName() << G4endl; 00332 G4cout 00333 << "---> Astronaut : height = " << G4BestUnit(m_astronautHeight,"Length") 00334 << "\t bottom width = " << G4BestUnit(m_astronautBottomWidth,"Length") 00335 << "\t top width = " << G4BestUnit(m_astronautTopWidth,"Length") 00336 << "\t material : " << m_astronautMaterial->GetName() << G4endl; 00337 G4cout << "\n---------------------------------------------------------\n"; 00338 G4cout << G4endl; 00339 }
| void DetectorConstruction::DefineMaterials | ( | ) |  [private] | 
Definition at line 69 of file DetectorConstruction.cc.
Referenced by DetectorConstruction().
00070 { 00071 // 00072 // define simple materials 00073 // 00074 G4double Z,A,density; 00075 00076 G4Material* Al = 00077 new G4Material("Aluminium", Z=13., A=26.98*g/mole, density=2.700*g/cm3); 00078 00079 // 00080 // build compounds from Elements 00081 // 00082 G4Element* H = new G4Element("Hydrogen" ,"H" , Z=1., A= 1.01*g/mole); 00083 G4Element* N = new G4Element("Nitrogen" ,"N" , Z=7., A=14.01*g/mole); 00084 G4Element* O = new G4Element("Oxygen" ,"O" , Z=8., A=16.00*g/mole); 00085 00086 G4int ncomponents, natoms; 00087 G4double fractionmass; 00088 00089 G4Material* Air = 00090 new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); 00091 Air->AddElement(N, fractionmass=70.*perCent); 00092 Air->AddElement(O, fractionmass=30.*perCent); 00093 00094 G4Material* H2O = 00095 new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); 00096 H2O->AddElement(H, natoms=2); 00097 H2O->AddElement(O, natoms=1); 00098 00099 // Vacuum standard definition... 00100 // 00101 G4Material* Vacuum = 00102 new G4Material("Galactic", Z=1., A=1.01*g/mole, density= 1.e-10*g/cm3, 00103 kStateGas, 2.73*kelvin, 3.e-18*pascal); 00104 00105 //associate materials 00106 // 00107 m_worldMaterial = Vacuum; 00108 ////m_spacecraftMaterial = m_floorMaterial = Al; 00109 m_spacecraftMaterial = m_floorMaterial = Air; 00110 m_cabinMaterial = Air; 00111 m_astronautMaterial = H2O; 00112 00113 // Print 00114 // 00115 G4cout << *(G4Material::GetMaterialTable()) << G4endl; 00116 }
| G4VPhysicalVolume * DetectorConstruction::ConstructVolumes | ( | ) |  [private] | 
Definition at line 120 of file DetectorConstruction.cc.
Referenced by Construct(), and UpdateGeometry().
00121 { 00122 // Cleanup old geometry 00123 G4GeometryManager::GetInstance()->OpenGeometry(); 00124 G4PhysicalVolumeStore::GetInstance()->Clean(); 00125 G4LogicalVolumeStore::GetInstance()->Clean(); 00126 G4SolidStore::GetInstance()->Clean(); 00127 00128 //define geometrical parameters 00129 // 00130 m_spacecraftRadius = m_cabinRadius + m_spacecraftThickness; 00131 m_spacecraftLength = m_cabinLength + 2*m_spacecraftThickness; 00132 00133 m_floorYcenter = - 0.5*m_cabinRadius; 00134 G4double floorYtop = m_floorYcenter + 0.5*m_floorThickness; 00135 G4double floorYbottom = m_floorYcenter - 0.5*m_floorThickness; 00136 m_floorWidth = 00137 2*std::sqrt(m_cabinRadius*m_cabinRadius - floorYbottom*floorYbottom); 00138 m_floorLength = m_cabinLength; 00139 00140 m_worldSizeXY = 2.2*m_spacecraftRadius; 00141 m_worldSizeZ = 1.1*m_spacecraftLength; 00142 00143 m_astronautPosition = floorYtop + 0.5*m_astronautHeight; 00144 00145 00146 // World volume 00147 // 00148 00149 G4Box* 00150 solidWorld = new G4Box("World", //its name 00151 m_worldSizeXY/2,m_worldSizeXY/2,m_worldSizeZ/2); //its size 00152 00153 G4LogicalVolume* 00154 logicWorld = new G4LogicalVolume(solidWorld, //its solid 00155 m_worldMaterial, //its material 00156 "World"); //its name 00157 00158 m_physiWorld = new G4PVPlacement(0, //no rotation 00159 G4ThreeVector(), //at (0,0,0) 00160 logicWorld, //its logical volume 00161 "World", //its name 00162 0, //its mother volume 00163 false, //no boolean operation 00164 0); //copy number 00165 00166 // SpaceCraft volume 00167 // 00168 G4Tubs* 00169 solidSpacecraft = new G4Tubs("Spacecraft", //name 00170 0*cm, m_spacecraftRadius, //r1, r2 00171 0.5*m_spacecraftLength, //half-length 00172 0., twopi); //teta1, teta2 00173 00174 G4LogicalVolume* 00175 logicSpacecraft = new G4LogicalVolume(solidSpacecraft, //solid 00176 m_spacecraftMaterial, //material 00177 "Spacecraft"); //name 00178 00179 m_physiSpacecraft = new G4PVPlacement(0, //no rotation 00180 G4ThreeVector(0,0,0), //position 00181 logicSpacecraft, //logicalVolume 00182 "Spacecraft", //name 00183 logicWorld, //mother 00184 false, //no boolean 00185 0); //copy nb 00186 00187 // Cabin 00188 // 00189 G4Tubs* 00190 solidCabin = new G4Tubs("Cabin", //name 00191 0*cm, m_cabinRadius, //r1, r2 00192 0.5*m_cabinLength, //half-length 00193 0., 360*deg); //teta1, teta2 00194 00195 G4LogicalVolume* 00196 logicCabin = new G4LogicalVolume(solidCabin, //solid 00197 m_cabinMaterial, //material 00198 "Cabin"); //name 00199 00200 m_physiCabin = new G4PVPlacement(0, //no rotation 00201 G4ThreeVector(0,0,0), //position 00202 logicCabin, //logicalVolume 00203 "Cabin", //name 00204 logicSpacecraft, //mother 00205 false, //no boolean 00206 0); //copy nb 00207 00208 00209 // Floor 00210 // 00211 G4Box* 00212 solidFloor = new G4Box("Floor", //name 00213 m_floorWidth/2,m_floorLength/2,m_floorThickness/2); //size 00214 00215 G4LogicalVolume* 00216 logicFloor = new G4LogicalVolume(solidFloor, m_floorMaterial, "Floor"); 00217 00218 //rotation matrix to place the floor within cabin 00219 G4RotationMatrix* rotm1 = new G4RotationMatrix(); 00220 rotm1->rotateX(90*deg); 00221 00222 m_physiFloor = new G4PVPlacement(rotm1, //rotation 00223 G4ThreeVector(0,m_floorYcenter,0), //position 00224 logicFloor, //logicalVolume 00225 "Floor", //name 00226 logicCabin, //mother 00227 false, //no boolean 00228 0); //copy nb 00229 00230 // Astronaut 00231 // 00232 G4Trd* 00233 solidAstronaut = new G4Trd("Astronaut", //name 00234 0.5 * m_astronautBottomWidth, //dx1 00235 0.5 * m_astronautTopWidth, //dx2 00236 0.5 * m_astronautBottomWidth, //dy1 00237 0.5 * m_astronautTopWidth, //dy2 00238 0.5 * m_astronautHeight); //dz 00239 00240 G4LogicalVolume* 00241 logicAstronaut = new G4LogicalVolume(solidAstronaut, //solid 00242 m_astronautMaterial, //material 00243 "Astronaut"); //name 00244 00245 //rotation matrix to place astronaut within cabin 00246 G4RotationMatrix* rotm2 = new G4RotationMatrix(); 00247 rotm2->rotateX(90*deg); 00248 00249 //translation vector to place astronaut within cabin 00250 G4ThreeVector position = G4ThreeVector(0.,m_astronautPosition,0.); 00251 00252 m_physiAstronaut = new G4PVPlacement(rotm2, //no rotation 00253 position, //position 00254 logicAstronaut, //logicalVolume 00255 "Astronaut", //name 00256 logicCabin, //mother 00257 false, //no boolean 00258 0); //copy nb 00259 //colour attributes 00260 // 00261 00262 G4VisAttributes* colourWhite= new G4VisAttributes(G4Colour(1.,1.,1.)); 00263 colourWhite->SetVisibility(true); 00264 colourWhite->SetForceSolid(false); 00265 00266 G4VisAttributes* colourGrey= new G4VisAttributes(G4Colour(0.5,0.5,0.5)); 00267 colourGrey->SetVisibility(true); 00268 colourGrey->SetForceSolid(false); 00269 00270 G4VisAttributes* colourCyan= new G4VisAttributes(G4Colour(0.,1.,1.)); 00271 colourCyan->SetVisibility(true); 00272 colourCyan->SetForceSolid(false); 00273 00274 G4VisAttributes* colourMagenta= new G4VisAttributes(G4Colour(1.,0.,1.)); 00275 colourMagenta->SetVisibility(true); 00276 colourMagenta->SetForceSolid(true); 00277 00278 G4VisAttributes* colourBlue= new G4VisAttributes(G4Colour(0.,0.,1.)); 00279 colourBlue->SetVisibility(true); 00280 colourBlue->SetForceSolid(false); 00281 00282 logicWorld->SetVisAttributes(colourGrey); 00283 logicSpacecraft->SetVisAttributes(colourCyan); 00284 logicCabin->SetVisAttributes(colourCyan); 00285 logicFloor->SetVisAttributes(colourWhite); 00286 logicAstronaut->SetVisAttributes(colourBlue); 00287 00288 //print parameters 00289 // 00290 PrintParameters(); 00291 00292 // below is an example of how to set tracking constraints in a given 00293 // logical volume 00294 // Sets a max Step length everywhere, with G4StepLimiter 00295 // (see also in PhysicsList how to setup the process G4StepLimiter) 00296 // 00297 m_stepLimiter = new G4UserLimits(); 00298 logicWorld->SetUserLimits(m_stepLimiter); 00299 logicSpacecraft->SetUserLimits(m_stepLimiter); 00300 logicCabin->SetUserLimits(m_stepLimiter); 00301 logicFloor->SetUserLimits(m_stepLimiter); 00302 logicAstronaut->SetUserLimits(m_stepLimiter); 00303 00304 // always return Physical World 00305 // 00306 return m_physiWorld; 00307 }
| G4VPhysicalVolume* DetectorConstruction::m_physiWorld  [private] | 
Definition at line 97 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), and GetWorld().
| G4VPhysicalVolume* DetectorConstruction::m_physiSpacecraft  [private] | 
Definition at line 98 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), and GetSpacecraft().
| G4VPhysicalVolume* DetectorConstruction::m_physiCabin  [private] | 
Definition at line 99 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), and GetCabin().
| G4VPhysicalVolume* DetectorConstruction::m_physiFloor  [private] | 
Definition at line 100 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), and GetFloor().
| G4VPhysicalVolume* DetectorConstruction::m_physiAstronaut  [private] | 
Definition at line 101 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), and GetAstronaut().
| G4Material* DetectorConstruction::m_worldMaterial  [private] | 
Definition at line 103 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DefineMaterials(), GetWorldMaterial(), PrintParameters(), and SetWorldMaterial().
| G4Material* DetectorConstruction::m_spacecraftMaterial  [private] | 
Definition at line 104 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DefineMaterials(), GetSpacecraftMaterial(), PrintParameters(), and SetSpacecraftMaterial().
| G4Material* DetectorConstruction::m_cabinMaterial  [private] | 
Definition at line 105 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DefineMaterials(), GetCabinMaterial(), PrintParameters(), and SetCabinMaterial().
| G4Material* DetectorConstruction::m_floorMaterial  [private] | 
Definition at line 106 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DefineMaterials(), GetFloorMaterial(), PrintParameters(), and SetFloorMaterial().
| G4Material* DetectorConstruction::m_astronautMaterial  [private] | 
Definition at line 107 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DefineMaterials(), GetAstronautMaterial(), PrintParameters(), and SetAstronautMaterial().
| G4UniformMagField* DetectorConstruction::m_magField  [private] | 
Definition at line 109 of file DetectorConstruction.hh.
Referenced by DetectorConstruction(), and SetMagField().
| G4UserLimits* DetectorConstruction::m_stepLimiter  [private] | 
Definition at line 110 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), SetMaxStep(), and ~DetectorConstruction().
| G4double DetectorConstruction::m_worldSizeXY  [private] | 
Definition at line 112 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetWorldSizeXY(), PrintParameters(), and SetWorldSizeXY().
| G4double DetectorConstruction::m_worldSizeZ  [private] | 
Definition at line 113 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetWorldSizeZ(), PrintParameters(), and SetWorldSizeZ().
| G4double DetectorConstruction::m_spacecraftRadius  [private] | 
Definition at line 115 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetSpacecraftRadius(), PrintParameters(), and SetSpacecraftRadius().
| G4double DetectorConstruction::m_spacecraftLength  [private] | 
Definition at line 116 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetSpacecraftLength(), PrintParameters(), and SetSpacecraftLength().
| G4double DetectorConstruction::m_spacecraftThickness  [private] | 
Definition at line 117 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetSpacecraftThickness(), PrintParameters(), and SetSpacecraftThickness().
| G4double DetectorConstruction::m_cabinRadius  [private] | 
Definition at line 119 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetCabinRadius(), PrintParameters(), and SetCabinRadius().
| G4double DetectorConstruction::m_cabinLength  [private] | 
Definition at line 120 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetCabinLength(), PrintParameters(), and SetCabinLength().
| G4double DetectorConstruction::m_floorThickness  [private] | 
Definition at line 122 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetFloorThickness(), PrintParameters(), and SetFloorThickness().
| G4double DetectorConstruction::m_floorWidth  [private] | 
Definition at line 123 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetFloorWidth(), PrintParameters(), and SetFloorWidth().
| G4double DetectorConstruction::m_floorLength  [private] | 
Definition at line 124 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetFloorLength(), PrintParameters(), and SetFloorLength().
| G4double DetectorConstruction::m_floorYcenter  [private] | 
Definition at line 125 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetFloorYcenter(), and SetFloorYcenter().
| G4double DetectorConstruction::m_astronautHeight  [private] | 
Definition at line 127 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetAstronautHeight(), PrintParameters(), and SetAstronautHeight().
| G4double DetectorConstruction::m_astronautTopWidth  [private] | 
Definition at line 128 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetAstronautTopWidth(), PrintParameters(), and SetAstronautTopWidth().
| G4double DetectorConstruction::m_astronautBottomWidth  [private] | 
Definition at line 129 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), DetectorConstruction(), GetAstronautBottomWidth(), PrintParameters(), and SetAstronautBottomWidth().
| G4double DetectorConstruction::m_astronautPosition  [private] | 
Definition at line 130 of file DetectorConstruction.hh.
Referenced by ConstructVolumes(), GetAstronautPosition(), and SetAstronautPosition().
Definition at line 132 of file DetectorConstruction.hh.
Referenced by DetectorConstruction(), and ~DetectorConstruction().
 1.5.7.1
 1.5.7.1