73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
#ifndef VTK_GEANT_EMITTERPRIMARY_H
|
|
#define VTK_GEANT_EMITTERPRIMARY_H
|
|
|
|
#include "Vtk/uLibVtkInterface.h"
|
|
#include "HEP/Geant/EmitterPrimary.hh"
|
|
|
|
class vtkConeSource;
|
|
class vtkLineSource;
|
|
class vtkPolyData;
|
|
class vtkActor;
|
|
class vtkPlaneSource;
|
|
class vtkCylinderSource;
|
|
|
|
namespace uLib {
|
|
namespace Vtk {
|
|
|
|
class EmitterPrimary : public Prop3D {
|
|
public:
|
|
EmitterPrimary(Geant::EmitterPrimary &emitter);
|
|
virtual ~EmitterPrimary();
|
|
|
|
virtual void contentUpdate();
|
|
virtual void Update();
|
|
|
|
protected:
|
|
Geant::EmitterPrimary &m_emitter;
|
|
vtkActor *m_Actor;
|
|
};
|
|
|
|
class vtkSkyPlaneEmitterPrimary : public EmitterPrimary {
|
|
public:
|
|
vtkSkyPlaneEmitterPrimary(Geant::SkyPlaneEmitterPrimary &emitter);
|
|
virtual ~vtkSkyPlaneEmitterPrimary();
|
|
|
|
virtual void contentUpdate();
|
|
|
|
private:
|
|
Geant::SkyPlaneEmitterPrimary &m_skyEmitter;
|
|
vtkPlaneSource *m_PlaneSource;
|
|
};
|
|
|
|
|
|
|
|
class vtkQuadMeshEmitterPrimary : public EmitterPrimary {
|
|
public:
|
|
vtkQuadMeshEmitterPrimary(Geant::QuadMeshEmitterPrimary &emitter);
|
|
virtual void contentUpdate();
|
|
|
|
private:
|
|
Geant::QuadMeshEmitterPrimary &m_meshEmitter;
|
|
};
|
|
|
|
class vtkCylinderEmitterPrimary : public EmitterPrimary {
|
|
public:
|
|
vtkCylinderEmitterPrimary(Geant::CylinderEmitterPrimary &emitter);
|
|
virtual ~vtkCylinderEmitterPrimary();
|
|
|
|
virtual void contentUpdate();
|
|
|
|
private:
|
|
Geant::CylinderEmitterPrimary &m_cylinderEmitter;
|
|
vtkCylinderSource *m_CylinderSource;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace Vtk
|
|
} // namespace uLib
|
|
|
|
#endif // VTK_GEANT_EMITTERPRIMARY_H
|