RE03Detector.jl

```julia

Implementation of the RE03::DetectorConstruction class

#————————————————————————————————– mutable struct RE03Detector <: G4JLDetector end

function construct(::RE03Detector)::CxxPtr{G4VPhysicalVolume} #—Materials———————————————————————————- nist = G4NistManager!Instance() fAir = FindOrBuildMaterial(nist, "G4AIR") fWater = FindOrBuildMaterial(nist, "G4WATER")

#---World--------------------------------------------------------------------------------------
worldSolid = G4Box("World",2m, 2m, 2m)
worldLogical = G4LogicalVolume(worldSolid,fAir,"World")
worldPhys = G4PVPlacement(nothing, G4ThreeVector(), worldLogical, "World", nothing,false,0)

#---Phantom------------------------------------------------------------------------------------
phantomSolid = G4Box("Phantom", 1m, 1m, 1m)
phantomLogical = G4LogicalVolume(phantomSolid, fWater, "Phantom");
phantomPhys = G4PVPlacement(nothing, G4ThreeVector(), phantomLogical, "Phantom", worldLogical, false, 0)

#---Visualization attributes-------------------------------------------------------------------
SetVisAttributes(worldLogical, G4VisAttributes!GetInvisible())
simpleBoxVisAtt = G4VisAttributes(G4Colour(1.0, 1.0, 1.0))
SetVisibility(simpleBoxVisAtt, true)
SetVisAttributes(phantomLogical, simpleBoxVisAtt)

return worldPhys

end

Geant4.getConstructor(::RE03Detector)::Function = construct```