|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Process a GDML file to allow multiple file loading. More...
#include <BDSGDMLPreprocessor.hh>

Public Member Functions | |
| G4String | PreprocessFile (const G4String &file, const G4String &prefix, G4bool preprocessSchema=true) |
Static Public Member Functions | |
| static G4String | ProcessedNodeName (const G4String &nodeName, const G4String &prefix) |
Private Member Functions | |
| void | ReadDoc (xercesc::DOMNodeIterator *docIterator, G4bool processSchema) |
| void | ReadNode (xercesc::DOMNode *node, G4bool processSchema) |
| void | ProcessGDMLNode (xercesc::DOMNamedNodeMap *attributeMap) |
| void | ReadAttributes (xercesc::DOMNamedNodeMap *attributeMap) |
| void | ProcessDoc (xercesc::DOMNodeIterator *dotIterator, const G4String &prefix) |
| void | ProcessNode (xercesc::DOMNode *node, const G4String &prefix) |
| void | ProcessAttributes (xercesc::DOMNamedNodeMap *attributeMap, const G4String &prefix, bool property=false) |
Private Attributes | |
| G4String | parentDir |
| Directory of main gdml file. | |
| std::vector< std::string > | ignoreNodes |
| Nodes to ignore. | |
| std::vector< std::string > | ignoreAttrs |
| Attributes to ignore. | |
| std::vector< std::string > | names |
| Names to replace. | |
| std::map< std::string, int > | count |
| Debugging. | |
Process a GDML file to allow multiple file loading.
Replace names with uniques ones in a GDML file to compensate for the Geant4 GDML parser's lack of ability to indpendently load multiple GDML files. This may also be used in future for parameterising geometry via subsitution of variables.
Definition at line 53 of file BDSGDMLPreprocessor.hh.
| BDSGDMLPreprocessor::BDSGDMLPreprocessor | ( | ) |
Definition at line 138 of file BDSGDMLPreprocessor.cc.
| BDSGDMLPreprocessor::~BDSGDMLPreprocessor | ( | ) |
Definition at line 144 of file BDSGDMLPreprocessor.cc.
| G4String BDSGDMLPreprocessor::PreprocessFile | ( | const G4String & | file, |
| const G4String & | prefix, | ||
| G4bool | preprocessSchema = true |
||
| ) |
Update folder containing gdml file.
Definition at line 147 of file BDSGDMLPreprocessor.cc.
References BDSTemporaryFiles::CreateTemporaryFile(), BDSTemporaryFiles::Instance(), parentDir, and BDS::SplitPathAndFileName().

|
private |
Definition at line 337 of file BDSGDMLPreprocessor.cc.
|
private |
Definition at line 308 of file BDSGDMLPreprocessor.cc.
|
static |
Prepare the prefixed name. Done in a public static function so the convention is in only one place.
Definition at line 333 of file BDSGDMLPreprocessor.cc.
Referenced by BDSGeometryFactoryGDML::PreprocessedName().

|
private |
Definition at line 259 of file BDSGDMLPreprocessor.cc.
|
private |
Definition at line 315 of file BDSGDMLPreprocessor.cc.
|
private |
Definition at line 288 of file BDSGDMLPreprocessor.cc.
|
private |
Definition at line 233 of file BDSGDMLPreprocessor.cc.
|
private |
Definition at line 240 of file BDSGDMLPreprocessor.cc.
|
private |
Debugging.
Definition at line 81 of file BDSGDMLPreprocessor.hh.
|
private |
Attributes to ignore.
Definition at line 79 of file BDSGDMLPreprocessor.hh.
|
private |
Nodes to ignore.
Definition at line 78 of file BDSGDMLPreprocessor.hh.
|
private |
Names to replace.
Definition at line 80 of file BDSGDMLPreprocessor.hh.
|
private |
Directory of main gdml file.
Definition at line 77 of file BDSGDMLPreprocessor.hh.
Referenced by PreprocessFile().