source: ELYSE/HEAD/ELYSE/DetectorConstruction.hh @ 286

Last change on this file since 286 was 286, checked in by campagne, 17 years ago

ELYSE sauvegarde provisoire (JEC)

File size: 1.6 KB
Line 
1#ifndef ELYSEDetectorConstruction_H
2#define ELYSEDetectorConstruction_H 1
3
4//Geant4
5#include "G4ThreeVector.hh"
6#include "G4VUserDetectorConstruction.hh"
7#include "globals.hh"
8
9
10
11class G4VPhysicalVolume;
12class G4OpticalSurface;
13
14namespace ELYSE {
15
16class DetectorMessenger;
17class TrappingVolume;
18
19class DetectorConstruction : public G4VUserDetectorConstruction {
20 public:
21  //Ctor & Dtor
22  DetectorConstruction();
23  virtual ~DetectorConstruction();
24 
25  //inherited method
26  G4VPhysicalVolume* Construct();
27
28  //assecors
29  void SetWaterDimensions(G4ThreeVector dim);
30  void SetTyvekThickness(G4double thick);
31
32  //rebuild the geometry based on changes. must be called
33  void UpdateGeometry();
34  G4bool GetUpdated(){return updated;}
35
36private:
37
38  // The Construction routines
39  void   ConstructMaterials();
40
41
42
43  //Sensitive volume to trap all particles passing through it
44  TrappingVolume* aTrappingVolume;
45
46  //Water, Tyvek surface
47  G4OpticalSurface* OpWaterTyvekSurface;
48  //Water, Air surface
49  G4OpticalSurface* OpWaterAirSurface;
50  //Tyvek - Air surface
51  //  G4OpticalSurface* OpTyvekAirSurface;
52  //Tyvek - Glass surface (kill the particle)
53  G4OpticalSurface* OpTyvekGlassSurface;
54  // The messenger we use to change the geometry.
55  DetectorMessenger* messenger;
56
57  //Sign if the geometry has been modified
58  G4bool updated;
59
60  //---Volume lengths
61 
62  //Experimental Hall
63  G4double expHall_x;
64  G4double expHall_y;
65  G4double expHall_z;
66 
67  //Water box volume
68  G4double water_x;
69  G4double water_y;
70  G4double water_z;
71
72
73  //Thickness of the tyvek sheet
74  G4double tyvek_thickness;
75
76 
77};
78
79}
80
81
82#endif
83
Note: See TracBrowser for help on using the repository browser.