src/modules/DepositionGenerator/PrimariesGeneratorAction.hpp

Namespaces

Name
allpix
Helper class to hold support layers for a detector model.

Classes

Name
class allpix::PrimariesGeneratorAction
Generates the particles in every event.

Source code


#ifndef ALLPIX_PRIMARIES_DEPOSITION_MODULE_GENERATOR_ACTION_H
#define ALLPIX_PRIMARIES_DEPOSITION_MODULE_GENERATOR_ACTION_H

#include <memory>

#include <G4DataVector.hh>
#include <G4ParticleGun.hh>
#include <G4ThreeVector.hh>
#include <G4VUserPrimaryGeneratorAction.hh>

#include "core/config/Configuration.hpp"

namespace allpix {
    class PrimariesReader;

    class PrimariesGeneratorAction : public G4VUserPrimaryGeneratorAction {
    public:
        explicit PrimariesGeneratorAction(const Configuration& config, std::shared_ptr<PrimariesReader> reader);

        void GeneratePrimaries(G4Event*) override;

    private:
        bool check_vertex_inside_world(const G4ThreeVector& pos) const;

        std::unique_ptr<G4ParticleGun> particle_gun_;
        std::shared_ptr<PrimariesReader> reader_;
    };
} // namespace allpix

#endif /* ALLPIX_PRIMARIES_DEPOSITION_MODULE_GENERATOR_ACTION_H */

Updated on 2025-02-27 at 14:14:46 +0000