X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TGeant4%2FTG4XMLConvertor.h;h=7d6278b1c0f1f515b4c9e7f471faaf32817d4573;hb=d8408e768ac2e9da27b286f8cb2c3e705b46e543;hp=2bd5941e47a1de084135e12bf00e97f90445e959;hpb=509c89ecc29d9177e2f97c78db376913bd839ead;p=u%2Fmrichter%2FAliRoot.git diff --git a/TGeant4/TG4XMLConvertor.h b/TGeant4/TG4XMLConvertor.h index 2bd5941e47a..7d6278b1c0f 100644 --- a/TGeant4/TG4XMLConvertor.h +++ b/TGeant4/TG4XMLConvertor.h @@ -18,9 +18,14 @@ class G4Material; class G4VSolid; class G4LogicalVolume; +class G4PVReplica; class G4Box; class G4Tubs; +class G4Cons; class G4Trd; +class G4Trap; +class G4Polycone; +class G4Polyhedra; class TG4XMLConvertor : public TG4VXMLConvertor { @@ -40,12 +45,14 @@ class TG4XMLConvertor : public TG4VXMLConvertor virtual void CloseComposition(); virtual void WriteMaterial(const G4Material* material); - virtual void WriteSolid(const G4VSolid* solid, G4String materialName); + virtual void WriteSolid(G4String lvName, const G4VSolid* solid, + G4String materialName); virtual void WriteRotation(const G4RotationMatrix* rotation); - virtual void WritePosition(G4String solidName, G4ThreeVector position); + virtual void WritePosition(G4String lvName, G4ThreeVector position); virtual void WritePositionWithRotation( - G4String solidName, G4ThreeVector position, - const G4RotationMatrix* rotation); + G4String lvName, G4ThreeVector position, + const G4RotationMatrix* rotation); + virtual void WriteReplica(G4String lvName, G4PVReplica* pvr); virtual void WriteEmptyLine(); virtual void IncreaseIndention(); virtual void DecreaseIndention(); @@ -55,21 +62,28 @@ class TG4XMLConvertor : public TG4VXMLConvertor void CutName(G4String& name) const; void CutName(G4String& name, G4int size) const; void PutName(G4String& element, G4String name, G4String templ) const; - void WriteBox (const G4Box* box, G4String materialName); - void WriteTubs(const G4Tubs* tubs, G4String materialName); - void WriteTrd (const G4Trd* trd, G4String materialName); + + // writing solids + void WriteBox (G4String lvName, const G4Box* box, G4String materialName); + void WriteTubs(G4String lvName, const G4Tubs* tubs, G4String materialName); + void WriteCons(G4String lvName, const G4Cons* cons, G4String materialName); + void WriteTrd (G4String lvName, const G4Trd* trd, G4String materialName); + void WriteTrap(G4String lvName, const G4Trap* trap, G4String materialName); + void WritePolycone(G4String lvName, const G4Polycone* polycone, + G4String materialName); + void WritePolyhedra(G4String lvName, const G4Polyhedra* polyhedra, + G4String materialName); // static data members - static const G4int fgkMaxVolumeNameLength; - static const G4int fgkMaxMaterialNameLength; + static const G4int fgkMaxVolumeNameLength; //maximal volume name length + static const G4int fgkMaxMaterialNameLength;//maximal material name length // data members G4std::ofstream& fOutFile; //output file - TG4StringSet fMaterialNames; //set of names of materials - TG4StringSet fSolidNames; //set of names of solids - TG4RotationMatrixVector fRotations; // vector of rot matrices - const G4String fBasicIndention; //basic indention + const G4String fkBasicIndention; //basic indention G4String fIndention; //indention string + G4int fRotationCounter; //counter of rotations + TG4RotationMatrixVector fRotations; // vector of rot matrices }; #endif //TG4_XML_CONVERTOR_H