Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UltraDetectorConstruction Class Reference

#include <UltraDetectorConstruction.hh>

Inheritance diagram for UltraDetectorConstruction:
Collaboration diagram for UltraDetectorConstruction:

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 75 of file UltraDetectorConstruction.cc.

75  :
76  logicalPMT(0)
77 {
78  // Define wavelength limits for materials definition
79  lambda_min = 200*nm ;
80  lambda_max = 700*nm ;
81 }
static constexpr double nm
Definition: G4SIunits.hh:112
UltraDetectorConstruction::~UltraDetectorConstruction ( )

Definition at line 85 of file UltraDetectorConstruction.cc.

85 {;}

Member Function Documentation

G4VPhysicalVolume * UltraDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 89 of file UltraDetectorConstruction.cc.

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

Here is the call graph for this function:

void UltraDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 164 of file UltraDetectorConstruction.cc.

165 {
166  UltraPMTSD* PMTSD = new UltraPMTSD("PMTSD");
168  SetSensitiveDetector(logicalPMT,PMTSD);
169 }
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void AddNewDetector(G4VSensitiveDetector *aSD)
Definition: G4SDManager.cc:71
static G4SDManager * GetSDMpointer()
Definition: G4SDManager.cc:40

Here is the call graph for this function:

G4double UltraDetectorConstruction::GetLambdaMax ( ) const
inline

Definition at line 73 of file UltraDetectorConstruction.hh.

73 {return lambda_max;}

Here is the caller graph for this function:

G4double UltraDetectorConstruction::GetLambdaMin ( ) const
inline

Definition at line 72 of file UltraDetectorConstruction.hh.

72 {return lambda_min;}

Here is the caller graph for this function:


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