Class Reference for E1039 Core & Analysis Software
PHG4GDMLWrite Class Referenceabstract

#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/simulation/g4gdml/PHG4GDMLWrite.hh>

+ Inheritance diagram for PHG4GDMLWrite:
+ Collaboration diagram for PHG4GDMLWrite:

Public Member Functions

G4Transform3D Write (const G4String &filename, const G4LogicalVolume *const topLog, const G4String &schemaPath, const G4int depth, G4bool storeReferences=true)
 
void AddModule (const G4VPhysicalVolume *const topVol)
 
void AddModule (const G4int depth)
 
void AddAuxiliary (PHG4GDMLAuxStructType myaux)
 
virtual void DefineWrite (xercesc::DOMElement *)=0
 
virtual void MaterialsWrite (xercesc::DOMElement *)=0
 
virtual void SolidsWrite (xercesc::DOMElement *)=0
 
virtual void StructureWrite (xercesc::DOMElement *)=0
 
virtual G4Transform3D TraverseVolumeTree (const G4LogicalVolume *const, const G4int)=0
 
virtual void SurfacesWrite ()=0
 
virtual void SetupWrite (xercesc::DOMElement *, const G4LogicalVolume *const)=0
 
virtual void ExtensionWrite (xercesc::DOMElement *)
 
virtual void UserinfoWrite (xercesc::DOMElement *)
 
virtual void AddExtension (xercesc::DOMElement *, const G4LogicalVolume *const)
 
G4String GenerateName (const G4String &, const void *const)
 

Static Public Member Functions

static void SetAddPointerToName (G4bool)
 

Protected Member Functions

 PHG4GDMLWrite ()
 
virtual ~PHG4GDMLWrite ()
 
VolumeMapType & VolumeMap ()
 
xercesc::DOMAttr * NewAttribute (const G4String &, const G4String &)
 
xercesc::DOMAttr * NewAttribute (const G4String &, const G4double &)
 
xercesc::DOMElement * NewElement (const G4String &)
 
G4String Modularize (const G4VPhysicalVolume *const topvol, const G4int depth)
 
void AddAuxInfo (PHG4GDMLAuxListType *auxInfoList, xercesc::DOMElement *element)
 
G4bool FileExists (const G4String &) const
 
PhysVolumeMapType & PvolumeMap ()
 
DepthMapType & DepthMap ()
 

Protected Attributes

G4String SchemaLocation
 
xercesc::DOMDocument * doc
 
xercesc::DOMElement * extElement
 
xercesc::DOMElement * userinfoElement
 
XMLCh tempStr [10000]
 
PHG4GDMLAuxListType auxList
 

Static Protected Attributes

static G4bool addPointerToName = true
 

Detailed Description

Definition at line 58 of file PHG4GDMLWrite.hh.

Constructor & Destructor Documentation

◆ PHG4GDMLWrite()

PHG4GDMLWrite::PHG4GDMLWrite ( )
protected

Definition at line 46 of file PHG4GDMLWrite.cc.

◆ ~PHG4GDMLWrite()

PHG4GDMLWrite::~PHG4GDMLWrite ( )
protectedvirtual

Definition at line 50 of file PHG4GDMLWrite.cc.

Member Function Documentation

◆ AddAuxiliary()

void PHG4GDMLWrite::AddAuxiliary ( PHG4GDMLAuxStructType  myaux)

Definition at line 349 of file PHG4GDMLWrite.cc.

References auxList.

◆ AddAuxInfo()

void PHG4GDMLWrite::AddAuxInfo ( PHG4GDMLAuxListType auxInfoList,
xercesc::DOMElement *  element 
)
protected

Definition at line 90 of file PHG4GDMLWrite.cc.

References NewAttribute(), and NewElement().

Referenced by PHG4GDMLWriteStructure::TraverseVolumeTree(), and UserinfoWrite().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddExtension()

void PHG4GDMLWrite::AddExtension ( xercesc::DOMElement *  ,
const G4LogicalVolume * const   
)
virtual

Definition at line 78 of file PHG4GDMLWrite.cc.

Referenced by PHG4GDMLWriteStructure::TraverseVolumeTree().

+ Here is the caller graph for this function:

◆ AddModule() [1/2]

void PHG4GDMLWrite::AddModule ( const G4int  depth)

Definition at line 314 of file PHG4GDMLWrite.cc.

References DepthMap().

+ Here is the call graph for this function:

◆ AddModule() [2/2]

void PHG4GDMLWrite::AddModule ( const G4VPhysicalVolume *const  topVol)

Definition at line 281 of file PHG4GDMLWrite.cc.

References GenerateName(), and PvolumeMap().

+ Here is the call graph for this function:

◆ DefineWrite()

virtual void PHG4GDMLWrite::DefineWrite ( xercesc::DOMElement *  )
pure virtual

Implemented in PHG4GDMLWriteDefine.

Referenced by Write().

+ Here is the caller graph for this function:

◆ DepthMap()

PHG4GDMLWrite::DepthMapType & PHG4GDMLWrite::DepthMap ( )
protected

Definition at line 72 of file PHG4GDMLWrite.cc.

Referenced by AddModule(), and Modularize().

+ Here is the caller graph for this function:

◆ ExtensionWrite()

void PHG4GDMLWrite::ExtensionWrite ( xercesc::DOMElement *  )
virtual

Definition at line 85 of file PHG4GDMLWrite.cc.

Referenced by Write().

+ Here is the caller graph for this function:

◆ FileExists()

G4bool PHG4GDMLWrite::FileExists ( const G4String &  fname) const
protected

Definition at line 54 of file PHG4GDMLWrite.cc.

Referenced by Write().

+ Here is the caller graph for this function:

◆ GenerateName()

G4String PHG4GDMLWrite::GenerateName ( const G4String &  name,
const void * const  ptr 
)

Definition at line 123 of file PHG4GDMLWrite.cc.

References addPointerToName.

Referenced by AddModule(), PHG4GDMLWriteSolids::BooleanWrite(), PHG4GDMLWriteStructure::BorderSurfaceCache(), PHG4GDMLWriteSolids::BoxWrite(), PHG4GDMLWriteSolids::ConeWrite(), PHG4GDMLWriteSolids::CutTubeWrite(), PHG4GDMLWriteStructure::DivisionvolWrite(), PHG4GDMLWriteSolids::ElconeWrite(), PHG4GDMLWriteMaterials::ElementWrite(), PHG4GDMLWriteSolids::EllipsoidWrite(), PHG4GDMLWriteSolids::EltubeWrite(), PHG4GDMLWriteSolids::GenericPolyconeWrite(), PHG4GDMLWriteSolids::GenTrapWrite(), PHG4GDMLWriteSolids::HypeWrite(), PHG4GDMLWriteMaterials::IsotopeWrite(), PHG4GDMLWriteMaterials::MaterialWrite(), PHG4GDMLWriteSolids::OrbWrite(), PHG4GDMLWriteSolids::ParaboloidWrite(), PHG4GDMLWriteParamvol::ParametersWrite(), PHG4GDMLWriteParamvol::ParamvolAlgorithmWrite(), PHG4GDMLWriteParamvol::ParamvolWrite(), PHG4GDMLWriteSolids::ParaWrite(), PHG4GDMLWriteStructure::PhysvolWrite(), PHG4GDMLWriteSolids::PolyconeWrite(), PHG4GDMLWriteSolids::PolyhedraWrite(), PHG4GDMLWriteMaterials::PropertyVectorWrite(), PHG4GDMLWriteMaterials::PropertyWrite(), PHG4GDMLWriteStructure::ReplicavolWrite(), PHG4GDMLWriteSetup::SetupWrite(), PHG4GDMLWriteStructure::SkinSurfaceCache(), PHG4GDMLWriteSolids::SphereWrite(), PHG4GDMLWriteSolids::TessellatedWrite(), PHG4GDMLWriteSolids::TetWrite(), PHG4GDMLWriteSolids::TorusWrite(), PHG4GDMLWriteSolids::TrapWrite(), PHG4GDMLWriteStructure::TraverseVolumeTree(), PHG4GDMLWriteSolids::TrdWrite(), PHG4GDMLWriteSolids::TubeWrite(), PHG4GDMLWriteSolids::TwistedboxWrite(), PHG4GDMLWriteSolids::TwistedtrapWrite(), PHG4GDMLWriteSolids::TwistedtrdWrite(), PHG4GDMLWriteSolids::TwistedtubsWrite(), and PHG4GDMLWriteSolids::XtruWrite().

+ Here is the caller graph for this function:

◆ MaterialsWrite()

virtual void PHG4GDMLWrite::MaterialsWrite ( xercesc::DOMElement *  )
pure virtual

Implemented in PHG4GDMLWriteMaterials.

Referenced by Write().

+ Here is the caller graph for this function:

◆ Modularize()

G4String PHG4GDMLWrite::Modularize ( const G4VPhysicalVolume *const  topvol,
const G4int  depth 
)
protected

Definition at line 329 of file PHG4GDMLWrite.cc.

References DepthMap(), and PvolumeMap().

Referenced by PHG4GDMLWriteStructure::TraverseVolumeTree().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NewAttribute() [1/2]

xercesc::DOMAttr * PHG4GDMLWrite::NewAttribute ( const G4String &  name,
const G4double &  value 
)
protected

Definition at line 146 of file PHG4GDMLWrite.cc.

References doc, and tempStr.

◆ NewAttribute() [2/2]

xercesc::DOMAttr * PHG4GDMLWrite::NewAttribute ( const G4String &  name,
const G4String &  value 
)
protected

Definition at line 136 of file PHG4GDMLWrite.cc.

References doc, and tempStr.

Referenced by AddAuxInfo(), PHG4GDMLWriteMaterials::AtomWrite(), PHG4GDMLWriteSolids::BooleanWrite(), PHG4GDMLWriteStructure::BorderSurfaceCache(), PHG4GDMLWriteParamvol::Box_dimensionsWrite(), PHG4GDMLWriteSolids::BoxWrite(), PHG4GDMLWriteParamvol::Cone_dimensionsWrite(), PHG4GDMLWriteSolids::ConeWrite(), PHG4GDMLWriteSolids::CutTubeWrite(), PHG4GDMLWriteStructure::DivisionvolWrite(), PHG4GDMLWriteMaterials::DWrite(), PHG4GDMLWriteSolids::ElconeWrite(), PHG4GDMLWriteMaterials::ElementWrite(), PHG4GDMLWriteParamvol::Ellipsoid_dimensionsWrite(), PHG4GDMLWriteSolids::EllipsoidWrite(), PHG4GDMLWriteSolids::EltubeWrite(), PHG4GDMLWriteSolids::GenericPolyconeWrite(), PHG4GDMLWriteSolids::GenTrapWrite(), PHG4GDMLWriteParamvol::Hype_dimensionsWrite(), PHG4GDMLWriteSolids::HypeWrite(), PHG4GDMLWriteMaterials::IsotopeWrite(), PHG4GDMLWriteMaterials::MaterialWrite(), PHG4GDMLWriteMaterials::MEEWrite(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), PHG4GDMLWriteParamvol::Orb_dimensionsWrite(), PHG4GDMLWriteSolids::OrbWrite(), PHG4GDMLWriteParamvol::Para_dimensionsWrite(), PHG4GDMLWriteSolids::ParaboloidWrite(), PHG4GDMLWriteParamvol::ParametersWrite(), PHG4GDMLWriteParamvol::ParamvolWrite(), PHG4GDMLWriteSolids::ParaWrite(), PHG4GDMLWriteStructure::PhysvolWrite(), PHG4GDMLWriteParamvol::Polycone_dimensionsWrite(), PHG4GDMLWriteSolids::PolyconeWrite(), PHG4GDMLWriteParamvol::Polyhedra_dimensionsWrite(), PHG4GDMLWriteSolids::PolyhedraWrite(), PHG4GDMLWriteDefine::Position_vectorWrite(), PHG4GDMLWriteMaterials::PropertyVectorWrite(), PHG4GDMLWriteMaterials::PropertyWrite(), PHG4GDMLWriteMaterials::PWrite(), PHG4GDMLWriteStructure::ReplicavolWrite(), PHG4GDMLWriteDefine::Rotation_vectorWrite(), PHG4GDMLWriteSolids::RZPointWrite(), PHG4GDMLWriteDefine::Scale_vectorWrite(), PHG4GDMLWriteSetup::SetupWrite(), PHG4GDMLWriteStructure::SkinSurfaceCache(), PHG4GDMLWriteParamvol::Sphere_dimensionsWrite(), PHG4GDMLWriteSolids::SphereWrite(), PHG4GDMLWriteSolids::TessellatedWrite(), PHG4GDMLWriteSolids::TetWrite(), PHG4GDMLWriteParamvol::Torus_dimensionsWrite(), PHG4GDMLWriteSolids::TorusWrite(), PHG4GDMLWriteParamvol::Trap_dimensionsWrite(), PHG4GDMLWriteSolids::TrapWrite(), PHG4GDMLWriteStructure::TraverseVolumeTree(), PHG4GDMLWriteParamvol::Trd_dimensionsWrite(), PHG4GDMLWriteSolids::TrdWrite(), PHG4GDMLWriteParamvol::Tube_dimensionsWrite(), PHG4GDMLWriteSolids::TubeWrite(), PHG4GDMLWriteSolids::TwistedboxWrite(), PHG4GDMLWriteSolids::TwistedtrapWrite(), PHG4GDMLWriteSolids::TwistedtrdWrite(), PHG4GDMLWriteSolids::TwistedtubsWrite(), PHG4GDMLWriteMaterials::TWrite(), Write(), PHG4GDMLWriteSolids::XtruWrite(), and PHG4GDMLWriteSolids::ZplaneWrite().

◆ NewElement()

xercesc::DOMElement * PHG4GDMLWrite::NewElement ( const G4String &  name)
protected

Definition at line 160 of file PHG4GDMLWrite.cc.

References doc, and tempStr.

Referenced by AddAuxInfo(), PHG4GDMLWriteMaterials::AtomWrite(), PHG4GDMLWriteSolids::BooleanWrite(), PHG4GDMLWriteStructure::BorderSurfaceCache(), PHG4GDMLWriteParamvol::Box_dimensionsWrite(), PHG4GDMLWriteSolids::BoxWrite(), PHG4GDMLWriteParamvol::Cone_dimensionsWrite(), PHG4GDMLWriteSolids::ConeWrite(), PHG4GDMLWriteSolids::CutTubeWrite(), PHG4GDMLWriteDefine::DefineWrite(), PHG4GDMLWriteStructure::DivisionvolWrite(), PHG4GDMLWriteMaterials::DWrite(), PHG4GDMLWriteSolids::ElconeWrite(), PHG4GDMLWriteMaterials::ElementWrite(), PHG4GDMLWriteParamvol::Ellipsoid_dimensionsWrite(), PHG4GDMLWriteSolids::EllipsoidWrite(), PHG4GDMLWriteSolids::EltubeWrite(), PHG4GDMLWriteSolids::GenericPolyconeWrite(), PHG4GDMLWriteSolids::GenTrapWrite(), PHG4GDMLWriteParamvol::Hype_dimensionsWrite(), PHG4GDMLWriteSolids::HypeWrite(), PHG4GDMLWriteMaterials::IsotopeWrite(), PHG4GDMLWriteMaterials::MaterialsWrite(), PHG4GDMLWriteMaterials::MaterialWrite(), PHG4GDMLWriteMaterials::MEEWrite(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), PHG4GDMLWriteParamvol::Orb_dimensionsWrite(), PHG4GDMLWriteSolids::OrbWrite(), PHG4GDMLWriteParamvol::Para_dimensionsWrite(), PHG4GDMLWriteSolids::ParaboloidWrite(), PHG4GDMLWriteParamvol::ParametersWrite(), PHG4GDMLWriteParamvol::ParamvolWrite(), PHG4GDMLWriteSolids::ParaWrite(), PHG4GDMLWriteStructure::PhysvolWrite(), PHG4GDMLWriteParamvol::Polycone_dimensionsWrite(), PHG4GDMLWriteSolids::PolyconeWrite(), PHG4GDMLWriteParamvol::Polyhedra_dimensionsWrite(), PHG4GDMLWriteSolids::PolyhedraWrite(), PHG4GDMLWriteDefine::Position_vectorWrite(), PHG4GDMLWriteMaterials::PropertyVectorWrite(), PHG4GDMLWriteMaterials::PropertyWrite(), PHG4GDMLWriteMaterials::PWrite(), PHG4GDMLWriteStructure::ReplicavolWrite(), PHG4GDMLWriteDefine::Rotation_vectorWrite(), PHG4GDMLWriteSolids::RZPointWrite(), PHG4GDMLWriteDefine::Scale_vectorWrite(), PHG4GDMLWriteSetup::SetupWrite(), PHG4GDMLWriteStructure::SkinSurfaceCache(), PHG4GDMLWriteSolids::SolidsWrite(), PHG4GDMLWriteParamvol::Sphere_dimensionsWrite(), PHG4GDMLWriteSolids::SphereWrite(), PHG4GDMLWriteStructure::StructureWrite(), PHG4GDMLWriteSolids::TessellatedWrite(), PHG4GDMLWriteSolids::TetWrite(), PHG4GDMLWriteParamvol::Torus_dimensionsWrite(), PHG4GDMLWriteSolids::TorusWrite(), PHG4GDMLWriteParamvol::Trap_dimensionsWrite(), PHG4GDMLWriteSolids::TrapWrite(), PHG4GDMLWriteStructure::TraverseVolumeTree(), PHG4GDMLWriteParamvol::Trd_dimensionsWrite(), PHG4GDMLWriteSolids::TrdWrite(), PHG4GDMLWriteParamvol::Tube_dimensionsWrite(), PHG4GDMLWriteSolids::TubeWrite(), PHG4GDMLWriteSolids::TwistedboxWrite(), PHG4GDMLWriteSolids::TwistedtrapWrite(), PHG4GDMLWriteSolids::TwistedtrdWrite(), PHG4GDMLWriteSolids::TwistedtubsWrite(), PHG4GDMLWriteMaterials::TWrite(), UserinfoWrite(), PHG4GDMLWriteSolids::XtruWrite(), and PHG4GDMLWriteSolids::ZplaneWrite().

◆ PvolumeMap()

PHG4GDMLWrite::PhysVolumeMapType & PHG4GDMLWrite::PvolumeMap ( )
protected

Definition at line 66 of file PHG4GDMLWrite.cc.

Referenced by AddModule(), and Modularize().

+ Here is the caller graph for this function:

◆ SetAddPointerToName()

void PHG4GDMLWrite::SetAddPointerToName ( G4bool  set)
static

Definition at line 354 of file PHG4GDMLWrite.cc.

References addPointerToName.

◆ SetupWrite()

virtual void PHG4GDMLWrite::SetupWrite ( xercesc::DOMElement *  ,
const G4LogicalVolume * const   
)
pure virtual

Implemented in PHG4GDMLWriteSetup.

Referenced by Write().

+ Here is the caller graph for this function:

◆ SolidsWrite()

virtual void PHG4GDMLWrite::SolidsWrite ( xercesc::DOMElement *  )
pure virtual

Implemented in PHG4GDMLWriteSolids.

Referenced by Write().

+ Here is the caller graph for this function:

◆ StructureWrite()

virtual void PHG4GDMLWrite::StructureWrite ( xercesc::DOMElement *  )
pure virtual

Implemented in PHG4GDMLWriteStructure.

Referenced by Write().

+ Here is the caller graph for this function:

◆ SurfacesWrite()

virtual void PHG4GDMLWrite::SurfacesWrite ( )
pure virtual

Implemented in PHG4GDMLWriteStructure.

Referenced by Write().

+ Here is the caller graph for this function:

◆ TraverseVolumeTree()

virtual G4Transform3D PHG4GDMLWrite::TraverseVolumeTree ( const G4LogicalVolume * const  ,
const  G4int 
)
pure virtual

Implemented in PHG4GDMLWriteStructure.

Referenced by Write().

+ Here is the caller graph for this function:

◆ UserinfoWrite()

void PHG4GDMLWrite::UserinfoWrite ( xercesc::DOMElement *  gdmlElement)
virtual

Definition at line 111 of file PHG4GDMLWrite.cc.

References AddAuxInfo(), auxList, NewElement(), and userinfoElement.

Referenced by Write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VolumeMap()

PHG4GDMLWrite::VolumeMapType & PHG4GDMLWrite::VolumeMap ( )
protected

Definition at line 60 of file PHG4GDMLWrite.cc.

Referenced by PHG4GDMLWriteStructure::TraverseVolumeTree(), and Write().

+ Here is the caller graph for this function:

◆ Write()

G4Transform3D PHG4GDMLWrite::Write ( const G4String &  filename,
const G4LogicalVolume *const  topLog,
const G4String &  schemaPath,
const G4int  depth,
G4bool  storeReferences = true 
)

Definition at line 166 of file PHG4GDMLWrite.cc.

References addPointerToName, DefineWrite(), doc, ExtensionWrite(), FileExists(), MaterialsWrite(), NewAttribute(), SchemaLocation, SetupWrite(), SolidsWrite(), StructureWrite(), SurfacesWrite(), tempStr, TraverseVolumeTree(), UserinfoWrite(), and VolumeMap().

Referenced by PHG4GDMLUtility::Dump_GDML(), and PHG4GDMLWriteStructure::TraverseVolumeTree().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ addPointerToName

G4bool PHG4GDMLWrite::addPointerToName = true
staticprotected

Definition at line 133 of file PHG4GDMLWrite.hh.

Referenced by GenerateName(), SetAddPointerToName(), and Write().

◆ auxList

PHG4GDMLAuxListType PHG4GDMLWrite::auxList
protected

Definition at line 138 of file PHG4GDMLWrite.hh.

Referenced by AddAuxiliary(), and UserinfoWrite().

◆ doc

xercesc::DOMDocument* PHG4GDMLWrite::doc
protected

Definition at line 134 of file PHG4GDMLWrite.hh.

Referenced by NewAttribute(), NewElement(), and Write().

◆ extElement

xercesc::DOMElement* PHG4GDMLWrite::extElement
protected

Definition at line 135 of file PHG4GDMLWrite.hh.

◆ SchemaLocation

G4String PHG4GDMLWrite::SchemaLocation
protected

Definition at line 132 of file PHG4GDMLWrite.hh.

Referenced by PHG4GDMLWriteStructure::TraverseVolumeTree(), and Write().

◆ tempStr

XMLCh PHG4GDMLWrite::tempStr[10000]
protected

Definition at line 137 of file PHG4GDMLWrite.hh.

Referenced by NewAttribute(), NewElement(), and Write().

◆ userinfoElement

xercesc::DOMElement* PHG4GDMLWrite::userinfoElement
protected

Definition at line 136 of file PHG4GDMLWrite.hh.

Referenced by UserinfoWrite().


The documentation for this class was generated from the following files: