From 75263a513a72a6692e78b9561a594755e9540457 Mon Sep 17 00:00:00 2001
From: Eoin Clerkin <e.clerkin@gsi.de>
Date: Thu, 21 Sep 2023 19:28:42 +0200
Subject: [PATCH] Introduce README

uses markdown
---
 macro/geometry/cad2root/README.md | 34 +++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 macro/geometry/cad2root/README.md

diff --git a/macro/geometry/cad2root/README.md b/macro/geometry/cad2root/README.md
new file mode 100644
index 0000000000..e361d163d4
--- /dev/null
+++ b/macro/geometry/cad2root/README.md
@@ -0,0 +1,34 @@
+Conversion of CAD files to ROOT
+==============================
+
+We outline an approach to convert a native CAD geometries to ROOT(GEANT) geometries.
+
+This document will focus on conversion of
+
+[1] STP to STL
+Available from any CAD software. Each part, or parts of the same material are written as seperate stl files.
+
+[2] STL to GDML
+The python parser available from [here][https://github.com/tihovav/cad-to-geant4-converter] is used:
+```shell
+for file in *.stl; do python /opt/cad-to-geant4-converter/stl_gdml.py noneeded $file; done
+```
+[3] GDML to ROOT
+```shell
+for file in `ls *.gdml`; do echo $file; root -q 'make_TGeoVolumeAssembly.C("'$file'")'; done;
+```
+[4] Parsing of the control document allows the introduction of materials, places the ROOT binaries in correct location.
+```shell
+awk -F'|' '{gsub("[ ]*$","",$1); gsub(" ","_",$1); gsub("^[ ]*","",$5); gsub("[ ]*$","",$5); gsub(" ","_",$5);  printf "add_binary(\\\n\"%s.root\",\\\ntop, gM->GetMedium(\"%s\"), inum++,\\\ncad_matrix(%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\\\n);\n\n", $1, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15/10, $16/10, $17/10;}' CONTROL_CAD.txt > PARTS.C
+```
+
+[5] Stiching together all files into a single detector geometry.
+```shell
+root -q Create_Geometry.C
+```
+
+
+
+
+
+
-- 
GitLab