Ignore:
Timestamp:
Jun 18, 2010, 11:42:07 AM (14 years ago)
Author:
garnier
Message:

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/persistency/gdml/src/G4GDMLWriteSolids.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4GDMLWriteSolids.cc,v 1.65 2009/04/24 15:34:20 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4GDMLWriteSolids.cc,v 1.68 2010/06/03 14:19:49 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030// class G4GDMLWriteSolids Implementation
     
    5353#include "G4Sphere.hh"
    5454#include "G4SubtractionSolid.hh"
     55#include "G4GenericTrap.hh"
    5556#include "G4TessellatedSolid.hh"
    5657#include "G4Tet.hh"
     
    608609   torusElement->setAttributeNode(NewAttribute("lunit","mm"));
    609610   solidsElement->appendChild(torusElement);
     611}
     612
     613void G4GDMLWriteSolids::
     614GenTrapWrite(xercesc::DOMElement* solidsElement,
     615             const G4GenericTrap* const gtrap)
     616{
     617   const G4String& name = GenerateName(gtrap->GetName(),gtrap);
     618
     619   std::vector<G4TwoVector> vertices = gtrap->GetVertices();
     620
     621   xercesc::DOMElement* gtrapElement = NewElement("arb8");
     622   gtrapElement->setAttributeNode(NewAttribute("name",name));
     623   gtrapElement->setAttributeNode(NewAttribute("dz",
     624                                           gtrap->GetZHalfLength()/mm));
     625   gtrapElement->setAttributeNode(NewAttribute("v1x", vertices[0].x()));
     626   gtrapElement->setAttributeNode(NewAttribute("v1y", vertices[0].y()));
     627   gtrapElement->setAttributeNode(NewAttribute("v2x", vertices[1].x()));
     628   gtrapElement->setAttributeNode(NewAttribute("v2y", vertices[1].y()));
     629   gtrapElement->setAttributeNode(NewAttribute("v3x", vertices[2].x()));
     630   gtrapElement->setAttributeNode(NewAttribute("v3y", vertices[2].y()));
     631   gtrapElement->setAttributeNode(NewAttribute("v4x", vertices[3].x()));
     632   gtrapElement->setAttributeNode(NewAttribute("v4y", vertices[3].y()));
     633   gtrapElement->setAttributeNode(NewAttribute("v5x", vertices[4].x()));
     634   gtrapElement->setAttributeNode(NewAttribute("v5y", vertices[4].y()));
     635   gtrapElement->setAttributeNode(NewAttribute("v6x", vertices[5].x()));
     636   gtrapElement->setAttributeNode(NewAttribute("v6y", vertices[5].y()));
     637   gtrapElement->setAttributeNode(NewAttribute("v7x", vertices[6].x()));
     638   gtrapElement->setAttributeNode(NewAttribute("v7y", vertices[6].y()));
     639   gtrapElement->setAttributeNode(NewAttribute("v8x", vertices[7].x()));
     640   gtrapElement->setAttributeNode(NewAttribute("v8y", vertices[7].y()));
     641   gtrapElement->setAttributeNode(NewAttribute("lunit","mm"));
     642   solidsElement->appendChild(gtrapElement);
    610643}
    611644
     
    893926     = dynamic_cast<const G4Torus*>(solidPtr))
    894927     { TorusWrite(solidsElement,torusPtr); } else
     928   if (const G4GenericTrap* const gtrapPtr
     929     = dynamic_cast<const G4GenericTrap*>(solidPtr))
     930     { GenTrapWrite(solidsElement,gtrapPtr); } else
    895931   if (const G4Trap* const trapPtr
    896932     = dynamic_cast<const G4Trap*>(solidPtr))
Note: See TracChangeset for help on using the changeset viewer.