Class Reference for E1039 Core & Analysis Software
PHG4GDMLWriteStructure Class Reference

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

+ Inheritance diagram for PHG4GDMLWriteStructure:
+ Collaboration diagram for PHG4GDMLWriteStructure:

Public Member Functions

 PHG4GDMLWriteStructure (const PHG4GDMLConfig *config_input)
 
virtual ~PHG4GDMLWriteStructure ()
 
virtual void StructureWrite (xercesc::DOMElement *)
 
void AddVolumeAuxiliary (PHG4GDMLAuxStructType myaux, const G4LogicalVolume *const)
 
void SetEnergyCutsExport (G4bool)
 
- Public Member Functions inherited from PHG4GDMLWriteParamvol
virtual void ParamvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const)
 
virtual void ParamvolAlgorithmWrite (xercesc::DOMElement *paramvolElement, const G4VPhysicalVolume *const paramvol)
 
- Public Member Functions inherited from PHG4GDMLWriteSetup
virtual void SetupWrite (xercesc::DOMElement *, const G4LogicalVolume *const)
 
- Public Member Functions inherited from PHG4GDMLWriteSolids
virtual void AddSolid (const G4VSolid *const)
 
virtual void SolidsWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from PHG4GDMLWriteMaterials
void AddIsotope (const G4Isotope *const)
 
void AddElement (const G4Element *const)
 
void AddMaterial (const G4Material *const)
 
virtual void MaterialsWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from PHG4GDMLWriteDefine
G4ThreeVector GetAngles (const G4RotationMatrix &)
 
void ScaleWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &scl)
 
void RotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot)
 
void PositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos)
 
void FirstrotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot)
 
void FirstpositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos)
 
void AddPosition (const G4String &name, const G4ThreeVector &pos)
 
virtual void DefineWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from PHG4GDMLWrite
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 ExtensionWrite (xercesc::DOMElement *)
 
virtual void UserinfoWrite (xercesc::DOMElement *)
 
virtual void AddExtension (xercesc::DOMElement *, const G4LogicalVolume *const)
 
G4String GenerateName (const G4String &, const void *const)
 

Protected Member Functions

void DivisionvolWrite (xercesc::DOMElement *, const G4PVDivision *const)
 
void PhysvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const topVol, const G4Transform3D &transform, const G4String &moduleName)
 
void ReplicavolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const)
 
G4Transform3D TraverseVolumeTree (const G4LogicalVolume *const topVol, const G4int depth)
 
void SurfacesWrite ()
 
void BorderSurfaceCache (const G4LogicalBorderSurface *const)
 
void SkinSurfaceCache (const G4LogicalSkinSurface *const)
 
const G4LogicalBorderSurface * GetBorderSurface (const G4VPhysicalVolume *const)
 
const G4LogicalSkinSurface * GetSkinSurface (const G4LogicalVolume *const)
 
G4bool FindOpticalSurface (const G4SurfaceProperty *)
 
void ExportEnergyCuts (const G4LogicalVolume *const)
 
G4String ConvertToString (G4double dval)
 
- Protected Member Functions inherited from PHG4GDMLWriteParamvol
 PHG4GDMLWriteParamvol ()
 
virtual ~PHG4GDMLWriteParamvol ()
 
void Box_dimensionsWrite (xercesc::DOMElement *, const G4Box *const)
 
void Trd_dimensionsWrite (xercesc::DOMElement *, const G4Trd *const)
 
void Trap_dimensionsWrite (xercesc::DOMElement *, const G4Trap *const)
 
void Tube_dimensionsWrite (xercesc::DOMElement *, const G4Tubs *const)
 
void Cone_dimensionsWrite (xercesc::DOMElement *, const G4Cons *const)
 
void Sphere_dimensionsWrite (xercesc::DOMElement *, const G4Sphere *const)
 
void Orb_dimensionsWrite (xercesc::DOMElement *, const G4Orb *const)
 
void Torus_dimensionsWrite (xercesc::DOMElement *, const G4Torus *const)
 
void Ellipsoid_dimensionsWrite (xercesc::DOMElement *, const G4Ellipsoid *const)
 
void Para_dimensionsWrite (xercesc::DOMElement *, const G4Para *const)
 
void Hype_dimensionsWrite (xercesc::DOMElement *, const G4Hype *const)
 
void Polycone_dimensionsWrite (xercesc::DOMElement *, const G4Polycone *const)
 
void Polyhedra_dimensionsWrite (xercesc::DOMElement *, const G4Polyhedra *const)
 
void ParametersWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const, const G4int &)
 
- Protected Member Functions inherited from PHG4GDMLWriteSetup
 PHG4GDMLWriteSetup ()
 
virtual ~PHG4GDMLWriteSetup ()
 
- Protected Member Functions inherited from PHG4GDMLWriteSolids
 PHG4GDMLWriteSolids ()
 
virtual ~PHG4GDMLWriteSolids ()
 
void MultiUnionWrite (xercesc::DOMElement *solElement, const G4MultiUnion *const)
 
void BooleanWrite (xercesc::DOMElement *, const G4BooleanSolid *const)
 
void BoxWrite (xercesc::DOMElement *, const G4Box *const)
 
void ConeWrite (xercesc::DOMElement *, const G4Cons *const)
 
void ElconeWrite (xercesc::DOMElement *, const G4EllipticalCone *const)
 
void EllipsoidWrite (xercesc::DOMElement *, const G4Ellipsoid *const)
 
void EltubeWrite (xercesc::DOMElement *, const G4EllipticalTube *const)
 
void XtruWrite (xercesc::DOMElement *, const G4ExtrudedSolid *const)
 
void HypeWrite (xercesc::DOMElement *, const G4Hype *const)
 
void OrbWrite (xercesc::DOMElement *, const G4Orb *const)
 
void ParaWrite (xercesc::DOMElement *, const G4Para *const)
 
void ParaboloidWrite (xercesc::DOMElement *, const G4Paraboloid *const)
 
void PolyconeWrite (xercesc::DOMElement *, const G4Polycone *const)
 
void GenericPolyconeWrite (xercesc::DOMElement *, const G4GenericPolycone *const)
 
void PolyhedraWrite (xercesc::DOMElement *, const G4Polyhedra *const)
 
void SphereWrite (xercesc::DOMElement *, const G4Sphere *const)
 
void TessellatedWrite (xercesc::DOMElement *, const G4TessellatedSolid *const)
 
void TetWrite (xercesc::DOMElement *, const G4Tet *const)
 
void TorusWrite (xercesc::DOMElement *, const G4Torus *const)
 
void GenTrapWrite (xercesc::DOMElement *, const G4GenericTrap *const)
 
void TrapWrite (xercesc::DOMElement *, const G4Trap *const)
 
void TrdWrite (xercesc::DOMElement *, const G4Trd *const)
 
void TubeWrite (xercesc::DOMElement *, const G4Tubs *const)
 
void CutTubeWrite (xercesc::DOMElement *, const G4CutTubs *const)
 
void TwistedboxWrite (xercesc::DOMElement *, const G4TwistedBox *const)
 
void TwistedtrapWrite (xercesc::DOMElement *, const G4TwistedTrap *const)
 
void TwistedtrdWrite (xercesc::DOMElement *, const G4TwistedTrd *const)
 
void TwistedtubsWrite (xercesc::DOMElement *, const G4TwistedTubs *const)
 
void ZplaneWrite (xercesc::DOMElement *, const G4double &, const G4double &, const G4double &)
 
void RZPointWrite (xercesc::DOMElement *, const G4double &, const G4double &)
 
void OpticalSurfaceWrite (xercesc::DOMElement *, const G4OpticalSurface *const)
 
- Protected Member Functions inherited from PHG4GDMLWriteMaterials
 PHG4GDMLWriteMaterials ()
 
virtual ~PHG4GDMLWriteMaterials ()
 
void AtomWrite (xercesc::DOMElement *, const G4double &)
 
void DWrite (xercesc::DOMElement *, const G4double &)
 
void PWrite (xercesc::DOMElement *, const G4double &)
 
void TWrite (xercesc::DOMElement *, const G4double &)
 
void MEEWrite (xercesc::DOMElement *, const G4double &)
 
void IsotopeWrite (const G4Isotope *const)
 
void ElementWrite (const G4Element *const)
 
void MaterialWrite (const G4Material *const)
 
void PropertyWrite (xercesc::DOMElement *, const G4Material *const)
 
void PropertyVectorWrite (const G4String &, const G4PhysicsOrderedFreeVector *const)
 
- Protected Member Functions inherited from PHG4GDMLWriteDefine
 PHG4GDMLWriteDefine ()
 
virtual ~PHG4GDMLWriteDefine ()
 
void Scale_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
void Rotation_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
void Position_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
- Protected Member Functions inherited from PHG4GDMLWrite
 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

xercesc::DOMElement * structureElement
 
std::vector< xercesc::DOMElement * > borderElementVec
 
std::vector< xercesc::DOMElement * > skinElementVec
 
std::map< const G4LogicalVolume *, PHG4GDMLAuxListTypeauxmap
 
- Protected Attributes inherited from PHG4GDMLWriteSolids
std::vector< const G4VSolid * > solidList
 
xercesc::DOMElement * solidsElement
 
- Protected Attributes inherited from PHG4GDMLWriteMaterials
std::vector< const G4Isotope * > isotopeList
 
std::vector< const G4Element * > elementList
 
std::vector< const G4Material * > materialList
 
xercesc::DOMElement * materialsElement
 
- Protected Attributes inherited from PHG4GDMLWriteDefine
xercesc::DOMElement * defineElement
 
- Protected Attributes inherited from PHG4GDMLWrite
G4String SchemaLocation
 
xercesc::DOMDocument * doc
 
xercesc::DOMElement * extElement
 
xercesc::DOMElement * userinfoElement
 
XMLCh tempStr [10000]
 
PHG4GDMLAuxListType auxList
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4GDMLWrite
static void SetAddPointerToName (G4bool)
 
- Static Protected Attributes inherited from PHG4GDMLWriteSolids
static const G4int maxTransforms = 8
 
- Static Protected Attributes inherited from PHG4GDMLWriteDefine
static const G4double kRelativePrecision = DBL_EPSILON
 
static const G4double kAngularPrecision = DBL_EPSILON
 
static const G4double kLinearPrecision = DBL_EPSILON
 
- Static Protected Attributes inherited from PHG4GDMLWrite
static G4bool addPointerToName = true
 

Detailed Description

Definition at line 58 of file PHG4GDMLWriteStructure.hh.

Constructor & Destructor Documentation

◆ PHG4GDMLWriteStructure()

PHG4GDMLWriteStructure::PHG4GDMLWriteStructure ( const PHG4GDMLConfig config_input)

Definition at line 63 of file PHG4GDMLWriteStructure.cc.

◆ ~PHG4GDMLWriteStructure()

PHG4GDMLWriteStructure::~PHG4GDMLWriteStructure ( )
virtual

Definition at line 70 of file PHG4GDMLWriteStructure.cc.

Member Function Documentation

◆ AddVolumeAuxiliary()

void PHG4GDMLWriteStructure::AddVolumeAuxiliary ( PHG4GDMLAuxStructType  myaux,
const G4LogicalVolume * const  lvol 
)

Definition at line 581 of file PHG4GDMLWriteStructure.cc.

References auxmap.

Referenced by ExportEnergyCuts().

+ Here is the caller graph for this function:

◆ BorderSurfaceCache()

void PHG4GDMLWriteStructure::BorderSurfaceCache ( const G4LogicalBorderSurface * const  bsurf)
protected

Definition at line 235 of file PHG4GDMLWriteStructure.cc.

References borderElementVec, FindOpticalSurface(), PHG4GDMLWrite::GenerateName(), PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), and PHG4GDMLWriteSolids::solidsElement.

Referenced by TraverseVolumeTree().

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

◆ ConvertToString()

G4String PHG4GDMLWriteStructure::ConvertToString ( G4double  dval)
protected

Definition at line 633 of file PHG4GDMLWriteStructure.cc.

Referenced by ExportEnergyCuts().

+ Here is the caller graph for this function:

◆ DivisionvolWrite()

void PHG4GDMLWriteStructure::DivisionvolWrite ( xercesc::DOMElement *  volumeElement,
const G4PVDivision * const  divisionvol 
)
protected

Definition at line 75 of file PHG4GDMLWriteStructure.cc.

References PHG4GDMLWrite::GenerateName(), PHG4GDMLWrite::NewAttribute(), and PHG4GDMLWrite::NewElement().

Referenced by TraverseVolumeTree().

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

◆ ExportEnergyCuts()

void PHG4GDMLWriteStructure::ExportEnergyCuts ( const G4LogicalVolume * const  lvol)
protected

Definition at line 599 of file PHG4GDMLWriteStructure.cc.

References AddVolumeAuxiliary(), and ConvertToString().

Referenced by TraverseVolumeTree().

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

◆ FindOpticalSurface()

G4bool PHG4GDMLWriteStructure::FindOpticalSurface ( const G4SurfaceProperty *  psurf)
protected

Definition at line 312 of file PHG4GDMLWriteStructure.cc.

Referenced by BorderSurfaceCache(), and SkinSurfaceCache().

+ Here is the caller graph for this function:

◆ GetBorderSurface()

const G4LogicalBorderSurface * PHG4GDMLWriteStructure::GetBorderSurface ( const G4VPhysicalVolume * const  pvol)
protected

Definition at line 345 of file PHG4GDMLWriteStructure.cc.

Referenced by TraverseVolumeTree().

+ Here is the caller graph for this function:

◆ GetSkinSurface()

const G4LogicalSkinSurface * PHG4GDMLWriteStructure::GetSkinSurface ( const G4LogicalVolume * const  lvol)
protected

Definition at line 324 of file PHG4GDMLWriteStructure.cc.

Referenced by TraverseVolumeTree().

+ Here is the caller graph for this function:

◆ PhysvolWrite()

void PHG4GDMLWriteStructure::PhysvolWrite ( xercesc::DOMElement *  volumeElement,
const G4VPhysicalVolume *const  topVol,
const G4Transform3D &  transform,
const G4String &  moduleName 
)
protected

Definition at line 113 of file PHG4GDMLWriteStructure.cc.

References PHG4GDMLWrite::GenerateName(), PHG4GDMLWriteDefine::GetAngles(), PHG4GDMLWriteDefine::kAngularPrecision, PHG4GDMLWriteDefine::kLinearPrecision, PHG4GDMLWriteDefine::kRelativePrecision, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), PHG4GDMLWriteDefine::PositionWrite(), PHG4GDMLWriteDefine::RotationWrite(), and PHG4GDMLWriteDefine::ScaleWrite().

Referenced by TraverseVolumeTree().

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

◆ ReplicavolWrite()

void PHG4GDMLWriteStructure::ReplicavolWrite ( xercesc::DOMElement *  volumeElement,
const G4VPhysicalVolume * const  replicavol 
)
protected

Definition at line 184 of file PHG4GDMLWriteStructure.cc.

References PHG4GDMLWrite::GenerateName(), PHG4GDMLWrite::NewAttribute(), and PHG4GDMLWrite::NewElement().

Referenced by TraverseVolumeTree().

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

◆ SetEnergyCutsExport()

void PHG4GDMLWriteStructure::SetEnergyCutsExport ( G4bool  fcuts)

Definition at line 593 of file PHG4GDMLWriteStructure.cc.

◆ SkinSurfaceCache()

void PHG4GDMLWriteStructure::SkinSurfaceCache ( const G4LogicalSkinSurface * const  ssurf)
protected

Definition at line 276 of file PHG4GDMLWriteStructure.cc.

References FindOpticalSurface(), PHG4GDMLWrite::GenerateName(), PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), skinElementVec, and PHG4GDMLWriteSolids::solidsElement.

Referenced by TraverseVolumeTree().

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

◆ StructureWrite()

void PHG4GDMLWriteStructure::StructureWrite ( xercesc::DOMElement *  gdmlElement)
virtual

Implements PHG4GDMLWrite.

Definition at line 380 of file PHG4GDMLWriteStructure.cc.

References PHG4GDMLWrite::NewElement(), and structureElement.

+ Here is the call graph for this function:

◆ SurfacesWrite()

void PHG4GDMLWriteStructure::SurfacesWrite ( )
protectedvirtual

Implements PHG4GDMLWrite.

Definition at line 365 of file PHG4GDMLWriteStructure.cc.

References borderElementVec, skinElementVec, and structureElement.

◆ TraverseVolumeTree()

Member Data Documentation

◆ auxmap

std::map<const G4LogicalVolume*, PHG4GDMLAuxListType> PHG4GDMLWriteStructure::auxmap
protected

Definition at line 92 of file PHG4GDMLWriteStructure.hh.

Referenced by AddVolumeAuxiliary(), and TraverseVolumeTree().

◆ borderElementVec

std::vector<xercesc::DOMElement*> PHG4GDMLWriteStructure::borderElementVec
protected

Definition at line 90 of file PHG4GDMLWriteStructure.hh.

Referenced by BorderSurfaceCache(), and SurfacesWrite().

◆ skinElementVec

std::vector<xercesc::DOMElement*> PHG4GDMLWriteStructure::skinElementVec
protected

Definition at line 91 of file PHG4GDMLWriteStructure.hh.

Referenced by SkinSurfaceCache(), and SurfacesWrite().

◆ structureElement

xercesc::DOMElement* PHG4GDMLWriteStructure::structureElement
protected

Definition at line 89 of file PHG4GDMLWriteStructure.hh.

Referenced by StructureWrite(), SurfacesWrite(), and TraverseVolumeTree().


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