#ifndef G4GEOMETRYCREATOR_HH #define G4GEOMETRYCREATOR_HH //#include "G4OrderedTable.hh" #include "G4STEPEntity.hh" #include "G4NISTStepReader.hh" #include "G4Curve.hh" #include "G4PlacedSolid.hh" //#include "G4Placement.hh" #include "G4Axis2Placement3D.hh" //typedef G4RWTPtrOrderedVector G4CurveVector; //typedef G4RWTPtrOrderedVector G4BoundaryVector; typedef G4RWTPtrOrderedVector G4PlacedSolidVector; //typedef G4RWTPtrOrderedVector G4CreatorVector; typedef G4RWTPtrOrderedVector G4SurfaceVector; typedef G4RWTPtrOrderedVector G4SolidVector; //typedef G4RWTPtrOrderedVector G4PlacementVector; //#include "G4STEPEntity.hh" //erator ==(class G4RWTPtrOrderedVector a, class G4RWTPtrOrderedVector b){} #include "globals.hh" #include "instmgr.h" #include "STEPentity.h" #include "STEPaggregate.h" #include "G4Curve.hh" //#include "G4Surface.hh" #include "G4FPlane.hh" #include "G4FConicalSurface.hh" #include "G4FCylindricalSurface.hh" #include "G4CylindricalSurface.hh" #include "G4ToroidalSurface.hh" #include "G4SphericalSurface.hh" #include "G4PlacedSolid.hh" class G4GeometryCreator { public: G4GeometryCreator(){} virtual ~G4GeometryCreator(){}; virtual void CreateG4Geometry(STEPentity&)=0; virtual void CreateSTEPGeometry(void* =0)=0; virtual void* GetCreatedObject(){return createdObject;} virtual G4String Name()=0; virtual G4bool operator==(const G4GeometryCreator&){return 0;} virtual STEPattribute* GetNamedAttribute(G4String&,STEPentity&); virtual STEPentity* GetNamedEntity(G4String&,STEPentity&); G4int GetNextId(){objectId +=10 ; return objectId; } static G4int objectId; static InstMgr instanceManager; void* createdObject; }; #endif