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