Changeset 1228 for trunk/source/persistency/gdml/include
- Timestamp:
- Jan 8, 2010, 11:56:51 AM (15 years ago)
- Location:
- trunk/source/persistency/gdml/include
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/persistency/gdml/include/G4GDMLEvaluator.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLEvaluator.hh,v 1.1 6 2008/07/16 15:46:33gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLEvaluator.hh,v 1.17 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 45 45 #include <vector> 46 46 47 #include " globals.hh"47 #include "G4Types.hh" 48 48 49 49 class G4GDMLEvaluator -
trunk/source/persistency/gdml/include/G4GDMLParameterisation.hh
r987 r1228 26 26 // 27 27 // $Id: G4GDMLParameterisation.hh,v 1.10 2008/07/16 15:46:33 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // -
trunk/source/persistency/gdml/include/G4GDMLParser.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLParser.hh,v 1.5 7 2009/01/22 11:02:07gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLParser.hh,v 1.58 2009/04/15 13:29:30 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 54 54 G4GDMLParser(); 55 55 G4GDMLParser(G4GDMLReadStructure*); 56 G4GDMLParser(G4GDMLReadStructure*, G4GDMLWriteStructure*); 56 57 ~G4GDMLParser(); 57 58 // … … 113 114 G4GDMLReadStructure* reader; 114 115 G4GDMLWriteStructure* writer; 115 G4bool u code;116 G4bool urcode, uwcode; 116 117 117 118 }; -
trunk/source/persistency/gdml/include/G4GDMLParser.icc
r987 r1228 26 26 // 27 27 // $Id: G4GDMLParser.icc,v 1.8 2009/01/22 11:02:07 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // -
trunk/source/persistency/gdml/include/G4GDMLRead.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLRead.hh,v 1. 27 2009/01/22 11:02:07gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLRead.hh,v 1.31 2009/05/12 15:46:43 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // class G4GDMLRead … … 47 47 #include <xercesc/dom/DOM.hpp> 48 48 49 #include "G4Types.hh" 50 49 51 #include "G4GDMLEvaluator.hh" 50 52 51 #include "G4LogicalVolume.hh" 52 #include "G4VisAttributes.hh" 53 #include "G4PVPlacement.hh" 54 55 #include <sstream> 53 class G4LogicalVolume; 54 class G4VPhysicalVolume; 56 55 57 56 class G4GDMLErrorHandler : public xercesc::ErrorHandler … … 149 148 private: 150 149 151 G4int inLoop ;150 G4int inLoop, loopCount; 152 151 153 152 }; -
trunk/source/persistency/gdml/include/G4GDMLReadDefine.hh
r987 r1228 41 41 42 42 #include "G4ThreeVector.hh" 43 #include "G4RotationMatrix.hh" 44 43 45 #include "G4GDMLRead.hh" 44 46 … … 50 52 G4GDMLMatrix(); 51 53 G4GDMLMatrix(size_t rows0,size_t cols0); 52 ~G4GDMLMatrix(); 54 G4GDMLMatrix(const G4GDMLMatrix& rhs); 55 G4GDMLMatrix& operator=(const G4GDMLMatrix& rhs); 56 ~G4GDMLMatrix(); 53 57 54 58 void Set(size_t r,size_t c,G4double a); … … 80 84 protected: 81 85 86 G4GDMLReadDefine(); 87 virtual ~G4GDMLReadDefine(); 88 82 89 G4RotationMatrix GetRotationMatrix(const G4ThreeVector&); 83 90 void VectorRead(const xercesc::DOMElement* const,G4ThreeVector&); … … 90 97 void ScaleRead(const xercesc::DOMElement* const); 91 98 void VariableRead(const xercesc::DOMElement* const); 92 void QuantityRead(const xercesc::DOMElement* const); 99 void QuantityRead(const xercesc::DOMElement* const); 100 void ExpressionRead(const xercesc::DOMElement* const); 93 101 94 102 protected: -
trunk/source/persistency/gdml/include/G4GDMLReadMaterials.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLReadMaterials.hh,v 1. 9 2008/11/20 15:33:52gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLReadMaterials.hh,v 1.11 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 43 43 #define _G4GDMLREADMATERIALS_INCLUDED_ 44 44 45 #include "G4Element.hh" 46 #include "G4Isotope.hh" 47 #include "G4Material.hh" 48 #include "G4NistManager.hh" 45 #include "G4Types.hh" 46 #include "G4GDMLReadDefine.hh" 49 47 50 #include "G4GDMLReadDefine.hh" 48 class G4Element; 49 class G4Isotope; 50 class G4Material; 51 51 52 52 class G4GDMLReadMaterials : public G4GDMLReadDefine … … 62 62 63 63 protected: 64 65 G4GDMLReadMaterials(); 66 virtual ~G4GDMLReadMaterials(); 64 67 65 68 G4double AtomRead(const xercesc::DOMElement* const); -
trunk/source/persistency/gdml/include/G4GDMLReadParamvol.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLReadParamvol.hh,v 1. 6 2008/11/20 15:33:52gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLReadParamvol.hh,v 1.8 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLREADPARAMVOL_INCLUDED_ 43 43 44 #include "G4LogicalVolume.hh" 45 #include "G4PVParameterised.hh" 46 #include "G4PVPlacement.hh" 47 #include "G4VPhysicalVolume.hh" 44 #include "G4GDMLReadSetup.hh" 45 #include "G4GDMLParameterisation.hh" 48 46 49 #include "G4GDMLParameterisation.hh" 50 #include "G4GDMLReadSetup.hh" 47 class G4LogicalVolume; 51 48 52 49 class G4GDMLReadParamvol : public G4GDMLReadSetup … … 60 57 61 58 protected: 59 60 G4GDMLReadParamvol(); 61 virtual ~G4GDMLReadParamvol(); 62 62 63 63 void Box_dimensionsRead(const xercesc::DOMElement* const, -
trunk/source/persistency/gdml/include/G4GDMLReadSetup.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLReadSetup.hh,v 1. 5 2008/11/20 15:33:52gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLReadSetup.hh,v 1.6 2009/03/24 15:47:33 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 58 58 protected: 59 59 60 G4GDMLReadSetup(); 61 virtual ~G4GDMLReadSetup(); 62 63 protected: 64 60 65 std::map<G4String,G4String> setupMap; 61 66 }; -
trunk/source/persistency/gdml/include/G4GDMLReadSolids.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLReadSolids.hh,v 1.1 2 2008/11/21 09:32:46gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLReadSolids.hh,v 1.15 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLREADSOLIDS_INCLUDED_ 43 43 44 #include "G4Box.hh" 45 #include "G4Cons.hh" 46 #include "G4Ellipsoid.hh" 47 #include "G4EllipticalCone.hh" 48 #include "G4EllipticalTube.hh" 44 #include "G4Types.hh" 45 #include "G4GDMLReadMaterials.hh" 49 46 #include "G4ExtrudedSolid.hh" 50 #include "G4Hype.hh"51 #include "G4IntersectionSolid.hh"52 #include "G4Orb.hh"53 #include "G4Para.hh"54 #include "G4Paraboloid.hh"55 #include "G4Polycone.hh"56 #include "G4Polyhedra.hh"57 #include "G4QuadrangularFacet.hh"58 #include "G4ReflectedSolid.hh"59 #include "G4Sphere.hh"60 #include "G4SolidStore.hh"61 #include "G4SubtractionSolid.hh"62 #include "G4TessellatedSolid.hh"63 #include "G4Tet.hh"64 #include "G4Torus.hh"65 #include "G4Transform3D.hh"66 #include "G4Trap.hh"67 #include "G4Trd.hh"68 #include "G4TriangularFacet.hh"69 #include "G4Tubs.hh"70 #include "G4TwistedBox.hh"71 #include "G4TwistedTrap.hh"72 #include "G4TwistedTrd.hh"73 #include "G4TwistedTubs.hh"74 #include "G4UnionSolid.hh"75 #include "G4OpticalSurface.hh"76 #include "G4SurfaceProperty.hh"77 47 78 #include "G4GDMLReadMaterials.hh" 48 class G4VSolid; 49 class G4QuadrangularFacet; 50 class G4TriangularFacet; 51 class G4SurfaceProperty; 79 52 80 53 class G4GDMLReadSolids : public G4GDMLReadMaterials … … 91 64 92 65 protected: 66 67 G4GDMLReadSolids(); 68 virtual ~G4GDMLReadSolids(); 93 69 94 70 void BooleanRead(const xercesc::DOMElement* const,const BooleanOp); … … 122 98 G4TwoVector TwoDimVertexRead(const xercesc::DOMElement* const,G4double); 123 99 zplaneType ZplaneRead(const xercesc::DOMElement* const); 124 void Optical surfaceRead(const xercesc::DOMElement* const);100 void OpticalSurfaceRead(const xercesc::DOMElement* const); 125 101 }; 126 102 -
trunk/source/persistency/gdml/include/G4GDMLReadStructure.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLReadStructure.hh,v 1.2 4 2009/02/24 17:41:44 gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLReadStructure.hh,v 1.28 2009/09/24 15:04:34 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLREADSTRUCTURE_INCLUDED_ 43 43 44 #include "G4AssemblyVolume.hh" 45 #include "G4LogicalVolume.hh" 46 #include "G4LogicalVolumeStore.hh" 47 #include "G4PhysicalVolumeStore.hh" 48 #include "G4PVDivision.hh" 49 #include "G4PVPlacement.hh" 50 #include "G4PVReplica.hh" 51 #include "G4SolidStore.hh" 52 #include "G4VPhysicalVolume.hh" 53 #include "G4ReflectionFactory.hh" 54 #include "G4PhysicalVolumeStore.hh" 55 #include "G4LogicalSkinSurface.hh" 56 #include "G4LogicalBorderSurface.hh" 57 #include "G4PVDivisionFactory.hh" 44 #include "G4Types.hh" 45 #include "geomdefs.hh" 58 46 59 47 #include "G4GDMLReadParamvol.hh" 48 49 class G4AssemblyVolume; 50 class G4LogicalVolume; 51 class G4VPhysicalVolume; 60 52 61 53 struct G4GDMLAuxPairType … … 67 59 typedef std::vector<G4GDMLAuxPairType> G4GDMLAuxListType; 68 60 typedef std::map<const G4LogicalVolume*,G4GDMLAuxListType> G4GDMLAuxMapType; 61 typedef std::map<G4String, G4AssemblyVolume*> G4GDMLAssemblyMapType; 69 62 70 63 class G4GDMLReadStructure : public G4GDMLReadParamvol … … 73 66 public: 74 67 68 G4GDMLReadStructure(); 69 virtual ~G4GDMLReadStructure(); 70 75 71 G4VPhysicalVolume* GetPhysvol(const G4String&) const; 76 72 G4LogicalVolume* GetVolume(const G4String&) const; 73 G4AssemblyVolume* GetAssembly(const G4String&) const; 77 74 G4GDMLAuxListType GetVolumeAuxiliaryInformation(const G4LogicalVolume* const); 78 75 G4VPhysicalVolume* GetWorldVolume(const G4String&); … … 86 83 87 84 G4GDMLAuxPairType AuxiliaryRead(const xercesc::DOMElement* const); 88 void BordersurfaceRead(const xercesc::DOMElement* const);85 void AssemblyRead(const xercesc::DOMElement* const); 89 86 void DivisionvolRead(const xercesc::DOMElement* const); 90 87 G4LogicalVolume* FileRead(const xercesc::DOMElement* const); 91 void PhysvolRead(const xercesc::DOMElement* const); 88 void PhysvolRead(const xercesc::DOMElement* const, 89 G4AssemblyVolume* assembly=0); 92 90 void ReplicavolRead(const xercesc::DOMElement* const, G4int number); 93 91 void ReplicaRead(const xercesc::DOMElement* const replicaElement, … … 95 93 EAxis AxisRead(const xercesc::DOMElement* const axisElement); 96 94 G4double QuantityRead(const xercesc::DOMElement* const readElement); 97 void SkinsurfaceRead(const xercesc::DOMElement* const); 95 void BorderSurfaceRead(const xercesc::DOMElement* const); 96 void SkinSurfaceRead(const xercesc::DOMElement* const); 98 97 99 98 protected: 100 99 101 100 G4GDMLAuxMapType auxMap; 101 G4GDMLAssemblyMapType assemblyMap; 102 102 G4LogicalVolume *pMotherLogical; 103 103 -
trunk/source/persistency/gdml/include/G4GDMLWrite.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWrite.hh,v 1. 37 2008/08/19 15:03:17gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWrite.hh,v 1.41 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITE_INCLUDED_ 43 43 44 #include <sys/stat.h> 45 #include <iostream> 44 #include <map> 46 45 47 46 #include <xercesc/dom/DOM.hpp> … … 50 49 #include <xercesc/framework/LocalFileFormatTarget.hpp> 51 50 52 #include "G4LogicalVolume.hh"53 51 #include "G4Transform3D.hh" 54 #include "G4PVDivision.hh" 52 53 class G4LogicalVolume; 54 class G4VPhysicalVolume; 55 55 56 56 class G4GDMLWrite 57 57 { 58 59 60 58 typedef std::map<const G4LogicalVolume*,G4Transform3D> VolumeMapType; 59 typedef std::map<const G4VPhysicalVolume*,G4String> PhysVolumeMapType; 60 typedef std::map<G4int,G4int> DepthMapType; 61 61 62 public: // withoutdescription62 public: // with description 63 63 64 G4Transform3D Write(const G4String& filename, 65 const G4LogicalVolume* const topLog, 66 const G4String& schemaPath, 67 const G4int depth, G4bool storeReferences=true); 68 void AddModule(const G4VPhysicalVolume* const topVol); 69 void AddModule(const G4int depth); 70 static void SetAddPointerToName(G4bool); 64 G4Transform3D Write(const G4String& filename, 65 const G4LogicalVolume* const topLog, 66 const G4String& schemaPath, 67 const G4int depth, G4bool storeReferences=true); 68 // 69 // Main method for writing GDML files. 71 70 72 protected: 71 void AddModule(const G4VPhysicalVolume* const topVol); 72 void AddModule(const G4int depth); 73 // 74 // Split geometry structure in modules, by volume subtree or level 73 75 74 G4String SchemaLocation; 76 static void SetAddPointerToName(G4bool); 77 // 78 // Specify if to add or not memory addresses to IDs. 75 79 76 VolumeMapType& VolumeMap(); 80 virtual void DefineWrite(xercesc::DOMElement*)=0; 81 virtual void MaterialsWrite(xercesc::DOMElement*)=0; 82 virtual void SolidsWrite(xercesc::DOMElement*)=0; 83 virtual void StructureWrite(xercesc::DOMElement*)=0; 84 virtual G4Transform3D TraverseVolumeTree(const G4LogicalVolume* const, 85 const G4int)=0; 86 virtual void SurfacesWrite()=0; 87 virtual void SetupWrite(xercesc::DOMElement*, 88 const G4LogicalVolume* const)=0; 89 // 90 // Pure virtual methods implemented in concrete writer plugin's classes 77 91 78 G4String GenerateName(const G4String&,const void* const); 79 xercesc::DOMAttr* NewAttribute(const G4String&, const G4String&); 80 xercesc::DOMAttr* NewAttribute(const G4String&, const G4double&); 81 xercesc::DOMElement* NewElement(const G4String&); 82 virtual void DefineWrite(xercesc::DOMElement*)=0; 83 virtual void MaterialsWrite(xercesc::DOMElement*)=0; 84 virtual void SolidsWrite(xercesc::DOMElement*)=0; 85 virtual void StructureWrite(xercesc::DOMElement*)=0; 86 virtual G4Transform3D TraverseVolumeTree(const G4LogicalVolume* const, 87 const G4int)=0; 88 virtual void SetupWrite(xercesc::DOMElement*, 89 const G4LogicalVolume* const)=0; 90 G4String Modularize(const G4VPhysicalVolume* const topvol, 91 const G4int depth); 92 virtual void ExtensionWrite(xercesc::DOMElement*); 93 virtual void AddExtension(xercesc::DOMElement*, 94 const G4LogicalVolume* const); 95 // 96 // To be implemented in the client code for handling extensions 97 // to the GDML schema, identified with the tag "extension". 98 // The implementation should be placed inside a user-class 99 // inheriting from G4GDMLWriteStructure and being registered 100 // as argument to G4GDMLParser. 92 101 93 private:102 protected: 94 103 95 G4bool FileExists(const G4String&) const; 96 PhysVolumeMapType& PvolumeMap(); 97 DepthMapType& DepthMap(); 104 G4GDMLWrite(); 105 virtual ~G4GDMLWrite(); 98 106 99 private:107 VolumeMapType& VolumeMap(); 100 108 101 static G4bool addPointerToName; 102 xercesc::DOMDocument* doc; 103 XMLCh tempStr[100]; 109 G4String GenerateName(const G4String&,const void* const); 110 xercesc::DOMAttr* NewAttribute(const G4String&, const G4String&); 111 xercesc::DOMAttr* NewAttribute(const G4String&, const G4double&); 112 xercesc::DOMElement* NewElement(const G4String&); 113 G4String Modularize(const G4VPhysicalVolume* const topvol, 114 const G4int depth); 115 116 G4bool FileExists(const G4String&) const; 117 PhysVolumeMapType& PvolumeMap(); 118 DepthMapType& DepthMap(); 119 120 protected: 121 122 G4String SchemaLocation; 123 static G4bool addPointerToName; 124 xercesc::DOMDocument* doc; 125 xercesc::DOMElement* extElement; 126 XMLCh tempStr[100]; 104 127 105 128 }; -
trunk/source/persistency/gdml/include/G4GDMLWriteDefine.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteDefine.hh,v 1.1 1 2008/07/16 15:46:33gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteDefine.hh,v 1.14 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITEDEFINE_INCLUDED_ 43 43 44 #include "G4Types.hh" 45 #include "G4ThreeVector.hh" 46 #include "G4RotationMatrix.hh" 47 44 48 #include "G4GDMLWrite.hh" 45 #include <sstream>46 49 47 50 class G4GDMLWriteDefine : public G4GDMLWrite 48 51 { 49 52 50 protected:53 public: 51 54 52 G4ThreeVector GetAngles(const G4RotationMatrix&); 53 void ScaleWrite(xercesc::DOMElement* element, const G4String& name, 54 const G4ThreeVector& scl) 55 { Scale_vectorWrite(element,"scale",name,scl); } 56 void RotationWrite(xercesc::DOMElement* element, const G4String& name, 57 const G4ThreeVector& rot) 58 { Rotation_vectorWrite(element,"rotation",name,rot); } 59 void PositionWrite(xercesc::DOMElement* element, const G4String& name, 60 const G4ThreeVector& pos) 61 { Position_vectorWrite(element,"position",name,pos); } 62 void FirstrotationWrite(xercesc::DOMElement* element, const G4String& name, 63 const G4ThreeVector& rot) 64 { Rotation_vectorWrite(element,"firstrotation",name,rot); } 65 void FirstpositionWrite(xercesc::DOMElement* element, const G4String& name, 66 const G4ThreeVector& pos) 67 { Position_vectorWrite(element,"firstposition",name,pos); } 68 void AddPosition(const G4String& name, 69 const G4ThreeVector& pos) 70 { Position_vectorWrite(defineElement,"position",name,pos); } 55 G4ThreeVector GetAngles(const G4RotationMatrix&); 56 void ScaleWrite(xercesc::DOMElement* element, 57 const G4String& name, const G4ThreeVector& scl) 58 { Scale_vectorWrite(element,"scale",name,scl); } 59 void RotationWrite(xercesc::DOMElement* element, 60 const G4String& name, const G4ThreeVector& rot) 61 { Rotation_vectorWrite(element,"rotation",name,rot); } 62 void PositionWrite(xercesc::DOMElement* element, 63 const G4String& name, const G4ThreeVector& pos) 64 { Position_vectorWrite(element,"position",name,pos); } 65 void FirstrotationWrite(xercesc::DOMElement* element, 66 const G4String& name, const G4ThreeVector& rot) 67 { Rotation_vectorWrite(element,"firstrotation",name,rot); } 68 void FirstpositionWrite(xercesc::DOMElement* element, 69 const G4String& name, const G4ThreeVector& pos) 70 { Position_vectorWrite(element,"firstposition",name,pos); } 71 void AddPosition(const G4String& name, const G4ThreeVector& pos) 72 { Position_vectorWrite(defineElement,"position",name,pos); } 71 73 72 protected:74 virtual void DefineWrite(xercesc::DOMElement*); 73 75 74 static const G4double kRelativePrecision; 75 static const G4double kAngularPrecision; 76 static const G4double kLinearPrecision; 76 protected: 77 78 G4GDMLWriteDefine(); 79 virtual ~G4GDMLWriteDefine(); 80 81 void Scale_vectorWrite(xercesc::DOMElement*, const G4String&, 82 const G4String&, const G4ThreeVector&); 83 void Rotation_vectorWrite(xercesc::DOMElement*, const G4String&, 84 const G4String&, const G4ThreeVector&); 85 void Position_vectorWrite(xercesc::DOMElement*, const G4String&, 86 const G4String&, const G4ThreeVector&); 87 88 protected: 89 90 static const G4double kRelativePrecision; 91 static const G4double kAngularPrecision; 92 static const G4double kLinearPrecision; 77 93 78 private: 79 80 void Scale_vectorWrite(xercesc::DOMElement*, const G4String&, 81 const G4String&, const G4ThreeVector&); 82 void Rotation_vectorWrite(xercesc::DOMElement*, const G4String&, 83 const G4String&, const G4ThreeVector&); 84 void Position_vectorWrite(xercesc::DOMElement*, const G4String&, 85 const G4String&, const G4ThreeVector&); 86 void DefineWrite(xercesc::DOMElement*); 87 88 private: 89 90 xercesc::DOMElement* defineElement; 94 xercesc::DOMElement* defineElement; 91 95 92 96 }; -
trunk/source/persistency/gdml/include/G4GDMLWriteMaterials.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteMaterials.hh,v 1.1 2 2008/07/16 15:46:33gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteMaterials.hh,v 1.17 2009/04/27 07:22:36 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITEMATERIALS_INCLUDED_ 43 43 44 #include "G4Element.hh" 45 #include "G4Isotope.hh" 46 #include "G4Material.hh" 44 #include "G4Types.hh" 45 #include <vector> 47 46 48 47 #include "G4GDMLWriteDefine.hh" 48 49 class G4Isotope; 50 class G4Element; 51 class G4Material; 52 class G4MaterialPropertyVector; 49 53 50 54 class G4GDMLWriteMaterials : public G4GDMLWriteDefine 51 55 { 52 56 53 p rotected:57 public: 54 58 55 59 void AddIsotope(const G4Isotope* const); … … 57 61 void AddMaterial(const G4Material* const); 58 62 59 private: 63 virtual void MaterialsWrite(xercesc::DOMElement*); 64 65 protected: 66 67 G4GDMLWriteMaterials(); 68 virtual ~G4GDMLWriteMaterials(); 60 69 61 70 void AtomWrite(xercesc::DOMElement*,const G4double&); … … 66 75 void ElementWrite(const G4Element* const); 67 76 void MaterialWrite(const G4Material* const); 68 void MaterialsWrite(xercesc::DOMElement*); 69 70 private: 77 void PropertyWrite(xercesc::DOMElement*, const G4Material* const); 78 void PropertyVectorWrite(const G4String&, 79 const G4MaterialPropertyVector* const); 80 protected: 71 81 72 82 std::vector<const G4Isotope*> isotopeList; -
trunk/source/persistency/gdml/include/G4GDMLWriteParamvol.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteParamvol.hh,v 1.1 0 2008/08/13 13:58:53gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteParamvol.hh,v 1.13 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITEPARAMVOL_INCLUDED_ 43 43 44 #include "G4PVParameterised.hh" 45 #include "G4VPhysicalVolume.hh" 44 #include "G4GDMLWriteSetup.hh" 46 45 47 #include "G4GDMLWriteSetup.hh" 46 class G4Box; 47 class G4Trd; 48 class G4Trap; 49 class G4Tubs; 50 class G4Cons; 51 class G4Sphere; 52 class G4Orb; 53 class G4Torus; 54 class G4Para; 55 class G4Hype; 56 class G4VPhysicalVolume; 48 57 49 58 class G4GDMLWriteParamvol : public G4GDMLWriteSetup 50 59 { 51 60 61 public: 62 63 virtual void ParamvolWrite(xercesc::DOMElement*, 64 const G4VPhysicalVolume* const); 65 virtual void ParamvolAlgorithmWrite(xercesc::DOMElement* paramvolElement, 66 const G4VPhysicalVolume* const paramvol); 67 52 68 protected: 53 69 54 void ParamvolWrite(xercesc::DOMElement*, const G4VPhysicalVolume* const); 55 56 private: 70 G4GDMLWriteParamvol(); 71 virtual ~G4GDMLWriteParamvol(); 57 72 58 73 void Box_dimensionsWrite(xercesc::DOMElement*, const G4Box* const); … … 68 83 void ParametersWrite(xercesc::DOMElement*, 69 84 const G4VPhysicalVolume* const, const G4int&); 70 void ParamvolAlgorithmWrite(xercesc::DOMElement* paramvolElement,71 const G4VPhysicalVolume* const paramvol);72 85 73 86 }; -
trunk/source/persistency/gdml/include/G4GDMLWriteSetup.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteSetup.hh,v 1. 7 2008/07/16 15:46:34gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteSetup.hh,v 1.9 2009/04/15 13:29:30 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 46 46 class G4GDMLWriteSetup : public G4GDMLWriteSolids 47 47 { 48 private:48 public: 49 49 50 void SetupWrite(xercesc::DOMElement*, const G4LogicalVolume* const); 50 virtual void SetupWrite(xercesc::DOMElement*, const G4LogicalVolume* const); 51 52 protected: 53 54 G4GDMLWriteSetup(); 55 virtual ~G4GDMLWriteSetup(); 56 51 57 }; 52 58 -
trunk/source/persistency/gdml/include/G4GDMLWriteSolids.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteSolids.hh,v 1.3 2 2008/11/21 09:32:46gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteSolids.hh,v 1.38 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITESOLIDS_INCLUDED_ 43 43 44 #include "G4BooleanSolid.hh" 45 #include "G4Box.hh" 46 #include "G4Cons.hh" 47 #include "G4Ellipsoid.hh" 48 #include "G4EllipticalCone.hh" 49 #include "G4EllipticalTube.hh" 50 #include "G4ExtrudedSolid.hh" 51 #include "G4Hype.hh" 52 #include "G4Orb.hh" 53 #include "G4Para.hh" 54 #include "G4Paraboloid.hh" 55 #include "G4IntersectionSolid.hh" 56 #include "G4Polycone.hh" 57 #include "G4Polyhedra.hh" 58 #include "G4ReflectedSolid.hh" 59 #include "G4Sphere.hh" 60 #include "G4SubtractionSolid.hh" 61 #include "G4TessellatedSolid.hh" 62 #include "G4Tet.hh" 63 #include "G4Torus.hh" 64 #include "G4Trap.hh" 65 #include "G4Trd.hh" 66 #include "G4Tubs.hh" 67 #include "G4TwistedBox.hh" 68 #include "G4TwistedTrap.hh" 69 #include "G4TwistedTrd.hh" 70 #include "G4TwistedTubs.hh" 71 #include "G4UnionSolid.hh" 44 #include "G4Types.hh" 72 45 73 46 #include "G4GDMLWriteMaterials.hh" 74 47 48 class G4BooleanSolid; 49 class G4Box; 50 class G4Cons; 51 class G4EllipticalCone; 52 class G4Ellipsoid; 53 class G4EllipticalTube; 54 class G4ExtrudedSolid; 55 class G4Hype; 56 class G4Orb; 57 class G4Para; 58 class G4Paraboloid; 59 class G4Polycone; 60 class G4Polyhedra; 61 class G4Sphere; 62 class G4TessellatedSolid; 63 class G4Tet; 64 class G4Torus; 65 class G4Trap; 66 class G4Trd; 67 class G4Tubs; 68 class G4TwistedBox; 69 class G4TwistedTrap; 70 class G4TwistedTrd; 71 class G4TwistedTubs; 72 class G4VSolid; 73 class G4OpticalSurface; 74 75 75 class G4GDMLWriteSolids : public G4GDMLWriteMaterials 76 76 { 77 public: 77 78 78 protected: 79 virtual void AddSolid(const G4VSolid* const); 80 virtual void SolidsWrite(xercesc::DOMElement*); 79 81 80 void AddSolid(const G4VSolid* const);82 protected: 81 83 82 private: 84 G4GDMLWriteSolids(); 85 virtual ~G4GDMLWriteSolids(); 83 86 84 87 void BooleanWrite(xercesc::DOMElement*, const G4BooleanSolid* const); … … 108 111 void ZplaneWrite(xercesc::DOMElement*, const G4double&, 109 112 const G4double&, const G4double&); 110 void SolidsWrite(xercesc::DOMElement*); 113 void OpticalSurfaceWrite(xercesc::DOMElement*, 114 const G4OpticalSurface* const); 111 115 112 private:116 protected: 113 117 114 118 std::vector<const G4VSolid*> solidList; 115 119 xercesc::DOMElement* solidsElement; 120 static const G4int maxTransforms = 8; // Constant for limiting the number 121 // of displacements/reflections 122 // applied to a single solid 116 123 }; 117 124 -
trunk/source/persistency/gdml/include/G4GDMLWriteStructure.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4GDMLWriteStructure.hh,v 1.3 4 2008/07/16 15:46:34gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4GDMLWriteStructure.hh,v 1.39 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 42 42 #define _G4GDMLWRITESTRUCTURE_INCLUDED_ 43 43 44 #include "G4LogicalVolumeStore.hh" 45 #include "G4PhysicalVolumeStore.hh" 46 #include "G4Material.hh" 47 #include "G4PVDivision.hh" 48 #include "G4PVReplica.hh" 49 #include "G4VPhysicalVolume.hh" 50 #include "G4ReflectedSolid.hh" 44 #include "G4Types.hh" 51 45 #include "G4Transform3D.hh" 52 46 53 47 #include "G4GDMLWriteParamvol.hh" 54 48 49 class G4LogicalVolume; 50 class G4VPhysicalVolume; 51 class G4PVDivision; 52 class G4LogicalBorderSurface; 53 class G4LogicalSkinSurface; 54 class G4OpticalSurface; 55 class G4SurfaceProperty; 56 55 57 class G4GDMLWriteStructure : public G4GDMLWriteParamvol 56 58 { 57 59 58 p rivate:60 public: 59 61 60 void DivisionvolWrite(xercesc::DOMElement*,const G4PVDivision* const); 62 G4GDMLWriteStructure(); 63 virtual ~G4GDMLWriteStructure(); 64 65 virtual void StructureWrite(xercesc::DOMElement*); 66 67 protected: 68 69 void DivisionvolWrite(xercesc::DOMElement*, const G4PVDivision* const); 61 70 void PhysvolWrite(xercesc::DOMElement*,const G4VPhysicalVolume* const topVol, 62 const G4Transform3D& transform, 63 const G4String& moduleName); 64 void ReplicavolWrite(xercesc::DOMElement*,const G4VPhysicalVolume* const); 65 void StructureWrite(xercesc::DOMElement*); 71 const G4Transform3D& transform, const G4String& moduleName); 72 void ReplicavolWrite(xercesc::DOMElement*, const G4VPhysicalVolume* const); 66 73 G4Transform3D TraverseVolumeTree(const G4LogicalVolume* const topVol, 67 74 const G4int depth); 68 private: 75 void SurfacesWrite(); 76 void BorderSurfaceCache(const G4LogicalBorderSurface* const); 77 void SkinSurfaceCache(const G4LogicalSkinSurface* const); 78 const G4LogicalBorderSurface* GetBorderSurface(const G4VPhysicalVolume* const); 79 const G4LogicalSkinSurface* GetSkinSurface(const G4LogicalVolume* const); 80 G4bool FindOpticalSurface(const G4SurfaceProperty*); 81 82 protected: 69 83 70 84 xercesc::DOMElement* structureElement; 71 static const int maxReflections = 8; // Constant for limiting the number 72 // of displacements/reflections applied 73 // to a single solid 85 std::vector<xercesc::DOMElement*> borderElementVec; 86 std::vector<xercesc::DOMElement*> skinElementVec; 87 88 private: // cache for optical surfaces... 89 90 std::vector<const G4OpticalSurface*> opt_vec; 74 91 }; 75 92 -
trunk/source/persistency/gdml/include/G4STRead.hh
r987 r1228 25 25 // 26 26 // 27 // $Id: G4STRead.hh,v 1. 3 2008/07/17 14:05:50 gcosmo Exp $28 // GEANT4 tag $Name: geant4-09-0 2-ref-02$27 // $Id: G4STRead.hh,v 1.4 2009/04/24 15:34:20 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03 $ 29 29 // 30 30 // … … 44 44 #define _G4STREAD_INCLUDED_ 45 45 46 #include <fstream>47 46 #include <vector> 48 47 #include <map> 49 48 50 #include "G4TessellatedSolid.hh" 51 #include "G4QuadrangularFacet.hh" 52 #include "G4TriangularFacet.hh" 53 #include "G4LogicalVolume.hh" 54 #include "G4PVPlacement.hh" 55 #include "G4Material.hh" 56 #include "G4Box.hh" 49 #include "G4ThreeVector.hh" 50 51 class G4Material; 52 class G4Box; 53 class G4TessellatedSolid; 54 class G4LogicalVolume; 57 55 58 56 class G4STRead
Note: See TracChangeset
for help on using the changeset viewer.