EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4GDMLWriteStructure Class Reference

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/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 ()
 
VolumeMapTypeVolumeMap ()
 
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
 
PhysVolumeMapTypePvolumeMap ()
 
DepthMapTypeDepthMap ()
 

Protected Attributes

xercesc::DOMElement * structureElement
 
std::vector
< xercesc::DOMElement * > 
borderElementVec
 
std::vector
< xercesc::DOMElement * > 
skinElementVec
 
std::map< const
G4LogicalVolume
*, PHG4GDMLAuxListType
auxmap
 

Private Attributes

std::vector< const
G4OpticalSurface * > 
opt_vec
 
G4ReflectionFactory * reflFactory
 
G4bool cexport
 
const PHG4GDMLConfigconfig
 configuration of export exlcusion volumes
 

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
 

Detailed Description

Definition at line 58 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 58 of file PHG4GDMLWriteStructure.hh

Constructor & Destructor Documentation

PHG4GDMLWriteStructure::PHG4GDMLWriteStructure ( const PHG4GDMLConfig config_input)

Definition at line 63 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 63 of file PHG4GDMLWriteStructure.cc

References config, and reflFactory.

PHG4GDMLWriteStructure::~PHG4GDMLWriteStructure ( )
virtual

Definition at line 70 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 70 of file PHG4GDMLWriteStructure.cc

Member Function Documentation

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

Definition at line 581 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 581 of file PHG4GDMLWriteStructure.cc

References auxmap, and pos().

Referenced by ExportEnergyCuts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 236 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 236 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:

G4String PHG4GDMLWriteStructure::ConvertToString ( G4double  dval)
protected

Definition at line 633 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 633 of file PHG4GDMLWriteStructure.cc

Referenced by ExportEnergyCuts().

+ Here is the caller graph for this function:

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

Definition at line 75 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 75 of file PHG4GDMLWriteStructure.cc

References PHG4GDMLWrite::GenerateName(), Smear::kPhi, name, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), offset, and width().

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 599 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 599 of file PHG4GDMLWriteStructure.cc

References AddVolumeAuxiliary(), ConvertToString(), and gamma().

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 312 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 312 of file PHG4GDMLWriteStructure.cc

References opt_vec, and pos().

Referenced by BorderSurfaceCache(), and SkinSurfaceCache().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 345 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 345 of file PHG4GDMLWriteStructure.cc

References pos().

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 324 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 324 of file PHG4GDMLWriteStructure.cc

References pos().

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 113 of file PHG4GDMLWriteStructure.cc

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

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 184 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 184 of file PHG4GDMLWriteStructure.cc

References PHG4GDMLWrite::GenerateName(), Smear::kPhi, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), offset, and width().

Referenced by TraverseVolumeTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4GDMLWriteStructure::SetEnergyCutsExport ( G4bool  fcuts)

Definition at line 593 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 593 of file PHG4GDMLWriteStructure.cc

References cexport.

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

Definition at line 277 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 277 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:

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

Implements PHG4GDMLWrite.

Definition at line 380 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 380 of file PHG4GDMLWriteStructure.cc

References PHG4GDMLWrite::NewElement(), and structureElement.

+ Here is the call graph for this function:

void PHG4GDMLWriteStructure::SurfacesWrite ( )
protectedvirtual

Implements PHG4GDMLWrite.

Definition at line 365 of file PHG4GDMLWriteStructure.cc.

View newest version in sPHENIX GitHub at line 365 of file PHG4GDMLWriteStructure.cc

References borderElementVec, pos(), skinElementVec, and structureElement.

+ Here is the call graph for this function:

Member Data Documentation

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

Definition at line 92 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 92 of file PHG4GDMLWriteStructure.hh

Referenced by AddVolumeAuxiliary(), and TraverseVolumeTree().

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

Definition at line 90 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 90 of file PHG4GDMLWriteStructure.hh

Referenced by BorderSurfaceCache(), and SurfacesWrite().

G4bool PHG4GDMLWriteStructure::cexport
private

Definition at line 100 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 100 of file PHG4GDMLWriteStructure.hh

Referenced by SetEnergyCutsExport(), and TraverseVolumeTree().

const PHG4GDMLConfig* PHG4GDMLWriteStructure::config
private

configuration of export exlcusion volumes

Definition at line 103 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 103 of file PHG4GDMLWriteStructure.hh

Referenced by PHG4GDMLWriteStructure(), and TraverseVolumeTree().

std::vector<const G4OpticalSurface*> PHG4GDMLWriteStructure::opt_vec
private

Definition at line 98 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 98 of file PHG4GDMLWriteStructure.hh

Referenced by FindOpticalSurface().

G4ReflectionFactory* PHG4GDMLWriteStructure::reflFactory
private

Definition at line 99 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 99 of file PHG4GDMLWriteStructure.hh

Referenced by PHG4GDMLWriteStructure(), PhysvolWrite(), and TraverseVolumeTree().

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

Definition at line 91 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 91 of file PHG4GDMLWriteStructure.hh

Referenced by SkinSurfaceCache(), and SurfacesWrite().

xercesc::DOMElement* PHG4GDMLWriteStructure::structureElement
protected

Definition at line 89 of file PHG4GDMLWriteStructure.hh.

View newest version in sPHENIX GitHub at line 89 of file PHG4GDMLWriteStructure.hh

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


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