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 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]

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 390 of file DetectorConstruction.cc.

Referenced by DetectorMessenger::SetNewValue().

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

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 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 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   // -- jour3a
00259   // ----------------------------------------------------------
00260   // -- Binding SensitiveDetector code to astronaut volume:
00261   // -- Note that it is possible to set the sensitive detector
00262   // -- at construction of the G4LogicalVolume (fith argument
00263   // -- is a G4VSensitiveDetector*).
00264   // ----------------------------------------------------------
00265   SensitiveDetector* sensitive = new SensitiveDetector("astronautSD");
00266   logicAstronaut->SetSensitiveDetector(sensitive);
00267   // -- inform the G4SDManager of this new sensitive detector object
00268   G4SDManager::GetSDMpointer()->AddNewDetector(sensitive);
00269 
00270 
00271   //colour attributes
00272   //
00273   
00274   G4VisAttributes* colourWhite= new G4VisAttributes(G4Colour(1.,1.,1.)); 
00275   colourWhite->SetVisibility(true);
00276   colourWhite->SetForceSolid(false);
00277   
00278   G4VisAttributes* colourGrey= new G4VisAttributes(G4Colour(0.5,0.5,0.5)); 
00279   colourGrey->SetVisibility(true);
00280   colourGrey->SetForceSolid(false);
00281   
00282   G4VisAttributes* colourCyan= new G4VisAttributes(G4Colour(0.,1.,1.)); 
00283   colourCyan->SetVisibility(true);
00284   colourCyan->SetForceSolid(false);
00285 
00286   G4VisAttributes* colourMagenta= new G4VisAttributes(G4Colour(1.,0.,1.)); 
00287   colourMagenta->SetVisibility(true);
00288   colourMagenta->SetForceSolid(true);
00289 
00290   G4VisAttributes* colourBlue= new G4VisAttributes(G4Colour(0.,0.,1.)); 
00291   colourBlue->SetVisibility(true);
00292   colourBlue->SetForceSolid(false);
00293   
00294   logicWorld->SetVisAttributes(colourGrey);
00295   logicSpacecraft->SetVisAttributes(colourCyan);
00296   logicCabin->SetVisAttributes(colourCyan);
00297   logicFloor->SetVisAttributes(colourWhite);
00298   logicAstronaut->SetVisAttributes(colourBlue);
00299     
00300   //print parameters
00301   //
00302   PrintParameters();
00303   
00304   // always return Physical World
00305   //
00306   return m_physiWorld;
00307 }


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:51 2008 for jour4a by  doxygen 1.5.7.1