20#include "BDSException.hh"
21#include "BDSGeometryWriter.hh"
22#include "BDSUtilities.hh"
26#include "G4GDMLParser.hh"
28#include "G4FileUtilities.hh"
29#include "G4TransportationManager.hh"
31class G4VPhysicalVolume;
33BDSGeometryWriter::~BDSGeometryWriter()
36BDSGeometryWriter::BDSGeometryWriter()
40 G4String geometryFileName)
42 if (geometryType ==
"gdml")
47 throw BDSException(__METHOD_NAME__,
"Unable to write out " + geometryFileName +
", as compiled without GDML support");
54 G4VPhysicalVolume* volume)
57 {volume = G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume();}
61 G4FileUtilities fileUtilities;
62 fileUtilities.DeleteFile(outputFileName,
"");
65 parser.Write(outputFileName, volume,
true);
General exception with possible name of object and message.
void WriteToGDML(G4String outputFileName, G4VPhysicalVolume *volume=nullptr)
void ExportGeometry(G4String geometryType, G4String geometryFileName)
G4bool FileExists(const G4String &filename)
Checks if filename exists.