added skyplaneEmitter

This commit is contained in:
AndreaRigoni
2026-03-19 15:45:48 +00:00
parent 7c8c7beae4
commit a8a313e5cf
6 changed files with 315 additions and 5 deletions

View File

@@ -4,10 +4,13 @@
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
namespace uLib {
class QuadMesh;
}
class EcoMug;
#include "Math/QuadMesh.h"
#include "Core/Object.h"
#include "Math/Transform.h"
@@ -16,6 +19,7 @@ class QuadMesh;
class G4ParticleGun;
class G4Event;
namespace uLib {
namespace Geant {
@@ -34,6 +38,23 @@ class EmitterPrimary : public G4VUserPrimaryGeneratorAction, public Object, publ
G4ParticleGun* fParticleGun; // Puntatore al cannone di particelle
};
class SkyPlaneEmitterPrimary : public EmitterPrimary
{
public:
SkyPlaneEmitterPrimary();
virtual ~SkyPlaneEmitterPrimary();
virtual void GeneratePrimaries(G4Event*);
void SetPlane(const uLib::Vector3f& p0, const uLib::Vector3f& normal);
void SetSkySize(const uLib::Vector2f& size);
uLib::Vector2f GetSkySize() const { return m_Size; }
private:
EcoMug* m_EcoMug;
uLib::Vector2f m_Size;
};
class QuadMeshEmitterPrimary : public EmitterPrimary