diff --git a/scripts/magnetAddition.py b/scripts/magnetAddition.py index 03b60d7de2af157e07231322c53ad24fb9e1aef1..018e63e4236ecc9b53aa302088bf7f3eaba2c059 100644 --- a/scripts/magnetAddition.py +++ b/scripts/magnetAddition.py @@ -4,15 +4,8 @@ root = ET.Element("lccdd") dets = ET.SubElement(root, "detectors") flds = ET.SubElement(root, "fields") -data = open('./compton/compact/beamline.text', 'r').readlines() - -# def type(i): -# switcher = { -# 'QF': [] -# 'DB': [] -# } - -# return swtitcher.get(i, "Object doesn't exist") +file1 = open('./compton/compact/beamline.text', 'r') +data = file1.readlines() # looping over every object in magnet file for x in data[3:]: @@ -27,14 +20,22 @@ for x in data[3:]: # creating detector elements and subelements a = ET.SubElement(root[0], 'detector', id='100', name=line[1], vis="FFMagnetVis", type="compton_CylindricalDipoleMagnet") ET.SubElement(a, 'placement', x=line[2]+"*m", y=line[3]+"*m", z=line[4]+"*m", theta=line[9]+"*rad") - ET.SubElement(a, 'dimensions', x=line[5]+"*m", y=line[5]+"*m", z=line[8]+"*m", r= line[4]+"*2.0*m") - ET.SubElement(a, 'apperture', x=line[5]+"*m", y=line[5]+"*m", z=line[5]+"*m") + ET.SubElement(a, 'dimensions', x=line[5]+"*m", y=line[5]+"*m", z=line[8]+"*m", r= line[5]+"*2.0*m") + ET.SubElement(a, 'apperture', x=line[5]+"*m", y=line[5]+"*m", r=line[5]+"*m") ET.SubElement(a, 'coil', vis="MagnetCoilVis", dx="2*cm", dy="1.5*cm") + # creating field elements and subelements + b = ET.SubElement(root[1], 'fields', name=line[1], type="MultipoleMagnet") + ET.SubElement(b, 'position', x=line[2]+"*m", y=line[3]+"*m", z=line[4]+"*m") + ET.SubElement(b, 'rotation', x="0", y=line[9]+"*rad", z="0") + ET.SubElement(b, 'shape', type="Tube", rmin="0.0", rmax=line[4]+"*2.0*m", dz=line[8]+"*0.5") + ET.SubElement(b, 'coefficient', coefficient=line[10]+"*tesla", skew="0.0*tesla") + ET.SubElement(b, 'coefficient', coefficient=line[11]+"*tesla/m", skew="0.0*tesla") + # prettifying ET.indent(root) b_xml = ET.tostring(root) # writing out with open("./compton/compact/beamlineNew.xml", "wb") as b: - b.write(b_xml) \ No newline at end of file + b.write(b_xml)