27 #ifndef PW_OpticalDetectorConstruction_h
28 #define PW_OpticalDetectorConstruction_h 1
31 #include "G4VUserDetectorConstruction.hh"
41 class G4LogicalVolume;
42 class G4VPhysicalVolume;
44 class G4AssemblyVolume;
45 class G4OpticalSurface;
51 G4LogicalVolume* logicWorld;
53 std::pair<G4LogicalVolume*, G4LogicalVolume*> logicDetector;
57 std::string cube_material, cuboid_material;
58 G4int whichOpticalSurface_cube, whichOpticalSurface_cuboid, whichOpticalSurface_cube_cuboid;
59 G4int whichGeometry, whichPhotocathMat;
61 G4double cube_side, cuboid_side;
62 G4double cubePosition, cuboidPosition;
63 G4double scint_cube_reflectivity[2], scint_cuboid_reflectivity[2], cube_cuboid_reflectivity[2];
64 G4double scint_cube_efficiency[2], scint_cuboid_efficiency[2];
66 G4double cube_cuboid_rindex[2];
69 void Construct_assembledPW(G4VPhysicalVolume* physiWorld);
70 void PW_SetScintOptSurfaces(G4OpticalSurface *cube_world_border, G4OpticalSurface *cuboid_world_border, G4OpticalSurface *cube_cuboid_border);
71 std::pair<G4LogicalVolume*, G4LogicalVolume*> PW_getScintSolids();
73 void Construct_cuboid(G4VPhysicalVolume* physiWorld);
75 std::pair<G4OpticalSurface*, G4LogicalVolume*> getCubicPhotocathode();
76 G4Material* getPhotocathodeMaterial();
78 void ReadParameters(G4String filename);
79 void WhichSurface(G4OpticalSurface* Surface, G4int which);
virtual void ConstructSDandField()
NEW G4.10.
virtual G4VPhysicalVolume * Construct()
One of the mandatory class to be implemented in order to have G4 working properly.
virtual ~PW_OpticalDetectorConstruction()
PW_OpticalDetectorConstruction(G4String filename="")