diff --git a/CODE/construction.hh b/CODE/construction.hh
new file mode 100644
index 0000000000000000000000000000000000000000..b54b87be0b98c337162d148f331549e2e7c804b1
--- /dev/null
+++ b/CODE/construction.hh
@@ -0,0 +1,56 @@
+#ifndef CONSTRUCTION_HH
+#define CONSTRUCTION_HH
+
+#include "G4VUserDetectorConstruction.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4LogicalVolume.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4PVPlacement.hh"
+#include "G4NistManager.hh"
+#include "G4SystemOfUnits.hh"
+#include "G4GenericMessenger.hh"
+#include "G4OpticalSurface.hh"
+#include "G4LogicalBorderSurface.hh"
+#include "G4LogicalSkinSurface.hh"
+
+#include "detector.hh"
+
+
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+
+public:
+    MyDetectorConstruction();
+    ~MyDetectorConstruction();
+
+    G4LogicalVolume *GetScoringVolume() const { return fScoringVolume; }
+
+    virtual G4VPhysicalVolume *Construct();
+    void ConstructAtmosphere();
+
+private:
+    G4Box *solidWorld, *solidAir;
+    G4LogicalVolume *logicWorld, *logicAir[10];
+    G4VPhysicalVolume *physWorld, *physAir[10];
+
+    G4OpticalSurface *mirrorSurface;
+
+    G4Material *worldMat,*Air[10];
+
+    void DefineMaterials();
+    virtual void ConstructSDandField();
+
+    G4GenericMessenger *fMessenger;
+
+    G4LogicalVolume *fScoringVolume;
+
+    G4int nRows, nCols;
+
+    G4double xWorld, yWorld, zWorld;
+
+    G4bool isAtmosphere;
+};
+
+#endif