49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#ifndef G4GEOMETRYTABLE_HH
|
|
#define G4GEOMETRYTABLE_HH
|
|
|
|
#include "G4GeometryCreator.hh"
|
|
//#include "G4OrderedTable.hh"
|
|
//#include "G4NISTStepReader.hh"
|
|
|
|
//typedef G4RWTPtrOrderedVector<G4Curve> G4CurveVector;
|
|
//typedef G4RWTPtrOrderedVector<G4CurveVector> G4BoundaryVector;
|
|
//typedef G4RWTPtrOrderedVector<G4PlacedSolid> G4PlacedSolidVector;
|
|
//typedef G4RWTPtrOrderedVector<G4GeometryCreator*> G4CreatorVector;
|
|
typedef G4RWTPtrOrderedVector<G4GeometryCreator> G4CreatorVector;
|
|
//typedef G4RWTPtrOrderedVector<G4Surface> G4SurfaceVector;
|
|
//typedef G4RWTPtrOrderedVector<G4BREPSolid> G4SolidVector;
|
|
|
|
|
|
|
|
//operator ==(class G4RWTPtrOrderedVector<G4Curve> a, class G4RWTPtrOrderedVector<G4Curve> b){}
|
|
|
|
|
|
class G4GeometryTable
|
|
{
|
|
public:
|
|
// Destructor
|
|
~G4GeometryTable();
|
|
//Member functions
|
|
static void RegisterObject(G4GeometryCreator*);
|
|
static G4bool ExistsInTable(G4String&);
|
|
static G4GeometryCreator* GetObject(G4String);
|
|
static void* CreateObject(STEPentity&);
|
|
static void* CreateSTEPObject(void*, G4String&);
|
|
static void PrintObjectNames();
|
|
static G4GeometryTable& GetInstance(){return gt;}
|
|
|
|
public:
|
|
// Constructor, singleton
|
|
G4GeometryTable();
|
|
|
|
//Members
|
|
private:
|
|
static G4CreatorVector RegisteredObjects;
|
|
static G4GeometryTable gt;
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|