Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
UltraDetectorConstruction Class Reference

#include <UltraDetectorConstruction.hh>

Inheritance diagram for UltraDetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 UltraDetectorConstruction ()
 
 ~UltraDetectorConstruction ()
 
G4VPhysicalVolumeConstruct ()
 
void ConstructSDandField ()
 
G4double GetLambdaMin () const
 
G4double GetLambdaMax () const
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 60 of file UltraDetectorConstruction.hh.

Constructor & Destructor Documentation

UltraDetectorConstruction::UltraDetectorConstruction ( )

Definition at line 73 of file UltraDetectorConstruction.cc.

73  :
74  logicalPMT(0)
75 {
76  // Define wavelength limits for materials definition
77  lambda_min = 200*nm ;
78  lambda_max = 700*nm ;
79 }
UltraDetectorConstruction::~UltraDetectorConstruction ( )

Definition at line 83 of file UltraDetectorConstruction.cc.

83 {;}

Member Function Documentation

G4VPhysicalVolume * UltraDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 87 of file UltraDetectorConstruction.cc.

References Air, G4cout, G4endl, G4Material::GetMaterial(), G4VisAttributes::Invisible, python.hepunit::m, G4VisAttributes::SetForceWireframe(), G4LogicalVolume::SetVisAttributes(), and G4VisAttributes::SetVisibility().

88 {
89  ConstructTableMaterials();
90 
91 
92 
93 // The experimental Hall
94 // ---------------------
95 
96  G4double World_x = 1.*m;
97  G4double World_y = 1.*m;
98  G4double World_z = 2*m;
99 
100  G4Box * World_box = new G4Box("World",World_x,World_y,World_z);
101 
102  // Get Air pointer from static funcion - (G4Material::GetMaterial)
103 
104 G4String name;
105 G4Material *Air = G4Material::GetMaterial(name = "Air");
106 G4LogicalVolume *World_log ;
107 World_log = new G4LogicalVolume(World_box,Air,"World",0,0,0);
108 
109 G4VPhysicalVolume *World_phys ;
110 World_phys = new G4PVPlacement(0,G4ThreeVector(),"World",World_log,0,false,0);
111 
112  G4VisAttributes* UniverseVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,1.0));
113  UniverseVisAtt->SetVisibility(true);
114  UniverseVisAtt->SetForceWireframe(true);
115  World_log->SetVisAttributes(UniverseVisAtt);
117 
118 
119 
120  G4cout << "\n \n \n \n \n \n \n \n \n \n \n \n \n " << G4endl ;
121 
122  G4cout << "######################################################" << G4endl ;
123  G4cout << "# #" << G4endl ;
124  G4cout << "# #" << G4endl ;
125  G4cout << "# UltraDetectorConstruction: #" << G4endl ;
126  G4cout << "# #" << G4endl ;
127  G4cout << "# #" << G4endl ;
128 
129  ConstructUVscope(World_phys);
130 
131 
132  G4cout << "# #" << G4endl ;
133  G4cout << "# #" << G4endl ;
134  G4cout << "######################################################" << G4endl ;
135 
136 
137 #ifdef ULTRA_MIRROR_USE
138 
139  G4cout << "Using mirror reflecting surface " << G4endl ;
140 
141  G4VPhysicalVolume* Mirror ;
142  Mirror = ConstructMirror(World_phys);
143 
144 #elif ULTRA_GROUND_USE
145 
146  G4cout << "Using ground reflecting surface " << G4endl ;
147 
148  G4VPhysicalVolume* Ground ;
149  Ground = ConstructGround(World_phys);
150 
151 #else
152 
153  G4cout << "No reflecting surface used" << G4endl ;
154 
155 #endif
156 
157  return World_phys;
158 }
void SetForceWireframe(G4bool)
G4Material * Air
Definition: TRTMaterials.hh:57
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:578
Definition: G4Box.hh:63
void SetVisibility(G4bool)
const XML_Char * name
G4GLOB_DLL std::ostream G4cout
static const G4VisAttributes Invisible
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
void SetVisAttributes(const G4VisAttributes *pVA)
void UltraDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 162 of file UltraDetectorConstruction.cc.

References G4VUserDetectorConstruction::SetSensitiveDetector().

163 {
164  UltraPMTSD* PMTSD = new UltraPMTSD("PMTSD");
165  SetSensitiveDetector(logicalPMT,PMTSD);
166 }
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
G4double UltraDetectorConstruction::GetLambdaMax ( ) const
inline

Definition at line 73 of file UltraDetectorConstruction.hh.

Referenced by UltraPrimaryGeneratorAction::GeneratePrimaries().

73 {return lambda_max;}
G4double UltraDetectorConstruction::GetLambdaMin ( ) const
inline

Definition at line 72 of file UltraDetectorConstruction.hh.

Referenced by UltraPrimaryGeneratorAction::GeneratePrimaries().

72 {return lambda_min;}

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