Files
uLib/src/Vtk/HEP/Geant/vtkEmitterPrimary.h

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