refactor: standardize object type identification using uLibTypeMacro and update serialization macros

This commit is contained in:
AndreaRigoni
2026-04-02 10:33:14 +00:00
parent a1c5fc2600
commit 4435776484
32 changed files with 229 additions and 99 deletions

View File

@@ -39,13 +39,11 @@ namespace uLib {
class DetectorChamber : public ContainerBox {
typedef ContainerBox BaseClass;
public:
uLibTypeMacro(DetectorChamber, ContainerBox)
virtual const char * GetClassName() const { return "DetectorChamber"; }
DetectorChamber() : BaseClass() {
m_ProjectionPlane.origin = HPoint3f(0, 0, 0);

View File

@@ -26,8 +26,7 @@ namespace Geant {
class EmitterPrimary : public G4VUserPrimaryGeneratorAction, public AffineTransform
{
public:
virtual const char* GetClassName() const override { return "Geant.EmitterPrimary"; }
uLibTypeMacro(EmitterPrimary, Object)
EmitterPrimary();
virtual ~EmitterPrimary();
@@ -47,8 +46,7 @@ class EmitterPrimary : public G4VUserPrimaryGeneratorAction, public AffineTransf
class SkyPlaneEmitterPrimary : public EmitterPrimary
{
public:
virtual const char* GetClassName() const override { return "Geant.SkyPlaneEmitterPrimary"; }
uLibTypeMacro(SkyPlaneEmitterPrimary, EmitterPrimary)
SkyPlaneEmitterPrimary();
virtual ~SkyPlaneEmitterPrimary();
@@ -69,8 +67,7 @@ class SkyPlaneEmitterPrimary : public EmitterPrimary
class CylinderEmitterPrimary : public EmitterPrimary
{
public:
virtual const char* GetClassName() const override { return "Geant.CylinderEmitterPrimary"; }
uLibTypeMacro(CylinderEmitterPrimary, EmitterPrimary)
CylinderEmitterPrimary();
virtual ~CylinderEmitterPrimary();
@@ -98,8 +95,7 @@ class CylinderEmitterPrimary : public EmitterPrimary
class QuadMeshEmitterPrimary : public EmitterPrimary
{
public:
virtual const char* GetClassName() const override { return "Geant.QuadMeshEmitterPrimary"; }
uLibTypeMacro(QuadMeshEmitterPrimary, EmitterPrimary)
QuadMeshEmitterPrimary();
virtual ~QuadMeshEmitterPrimary();

View File

@@ -50,8 +50,7 @@ class SteppingAction;
class GeantEvent : public Object {
public:
virtual const char* GetClassName() const override { return "Geant.GeantEvent"; }
uLibTypeMacro(GeantEvent, Object)
/// A single interaction step along the muon path.
struct Delta {

View File

@@ -60,6 +60,7 @@ private:
class Material : public Object {
public:
uLibTypeMacro(Material, Object)
enum State {
Undefined = 0,
@@ -68,8 +69,6 @@ public:
Gas
};
virtual const char* GetClassName() const override { return "Geant.Material"; }
Material();
Material(const char *name);
~Material();

View File

@@ -43,8 +43,7 @@ class EmitterPrimary;
class Scene : public Object {
public:
virtual const char* GetClassName() const override { return "Geant.Scene"; }
uLibTypeMacro(Scene, Object)
Scene();
~Scene();

View File

@@ -43,8 +43,7 @@ namespace Geant {
class Solid : public Object {
public:
virtual const char* GetClassName() const override { return "Geant.Solid"; }
uLibTypeMacro(Solid, Object)
Solid();
Solid(const char *name);
@@ -93,10 +92,8 @@ protected:
class TessellatedSolid : public Solid {
typedef Solid BaseClass;
public:
virtual const char* GetClassName() const override { return "Geant.TessellatedSolid"; }
uLibTypeMacro(TessellatedSolid, Solid)
TessellatedSolid();
TessellatedSolid(const char *name);
@@ -120,11 +117,9 @@ private :
class BoxSolid : public Solid {
typedef Solid BaseClass;
public:
virtual const char* GetClassName() const override { return "Geant.BoxSolid"; }
uLibTypeMacro(BoxSolid, Solid)
BoxSolid(const char *name = "");
BoxSolid(const char *name, ContainerBox *box);