Public Member Functions | |
def | __init__ |
def | catalog |
def | write |
Public Attributes | |
parameters | |
adcat | |
Static Public Attributes | |
string | filename = "geometry.xml" |
Definition at line 530 of file gen.py.
def gen::Geometry::__init__ | ( | self, | ||
parameters | ||||
) |
def gen::Geometry::catalog | ( | self | ) |
Definition at line 538 of file gen.py.
00538 : 00539 00540 if self.adcat: return self.adcat 00541 00542 from XmlDetDescGen.catalog import Catalog 00543 from XmlDetDescGen.reference import Reference 00544 00545 topcat = Catalog("Geometry") 00546 ac = Catalog("AD") 00547 # This is fake, just to get the right /dd/Geometry path 00548 topcat.refs = [ Reference("#AD",ac) ] 00549 00550 for c in self.parameters.cylinders(): 00551 NAME = c.name.upper() 00552 name = '%(name)s.xml#lv%(name)s'%{'name':NAME} 00553 #print name 00554 ac.refs.append(Reference(name,c.logvol())) 00555 continue 00556 00557 # Important, needed so full_paths can be set 00558 topcat.update() 00559 00560 self.adcat = ac 00561 return self.adcat 00562 def write(self,outdir):
def gen::Geometry::write | ( | self, | ||
outdir | ||||
) |
Definition at line 563 of file gen.py.
00563 : 00564 from XmlDetDescGen.util import XmlFile 00565 objects = [self.catalog()] 00566 file = XmlFile(dtd="../DTD/geometry.dtd", 00567 objects=objects) 00568 file.write(outdir+"/"+self.filename) 00569 00570 params = ("ADParameters",self.parameters.filename) 00571 AdDetailParams = ("AdDetailParameters","../AdDetails/%s"%self.parameters.filename) 00572 OverflowParams = ("OverflowParameters","../OverflowTanks/%s"%self.parameters.filename) 00573 CalibrationBoxParams = ("CalibrationBoxParameters","../CalibrationBox/%s"%self.parameters.filename) 00574 for c in self.parameters.cylinders(): 00575 from XmlDetDescGen.util import ExternalEntity 00576 00577 details = ("HandWrittenPhysVols","../AdDetails/%sPhysVols.xml"%c.name.upper()) 00578 00579 file = XmlFile(dtd="../DTD/geometry.dtd", 00580 objects=[ExternalEntity("ADParameters"),ExternalEntity("AdDetailParameters"), ExternalEntity("OverflowParameters"), ExternalEntity("CalibrationBoxParameters"),c.logvol()], 00581 external_entities=[params, AdDetailParams, OverflowParams, CalibrationBoxParams, details]) 00582 file.write(outdir+"/"+c.name.upper()+".xml") 00583 00584 return 00585 00586 class Structure:
string gen::Geometry::filename = "geometry.xml" [static] |