LDMX Software
PrimaryGeneratorAction.h
Go to the documentation of this file.
1
7#ifndef SIMCORE_G4USER_PRIMARYGENERATORACTION_H
8#define SIMCORE_G4USER_PRIMARYGENERATORACTION_H
9
10/*~~~~~~~~~~~~~~~~*/
11/* C++ StdLib */
12/*~~~~~~~~~~~~~~~~*/
13#include <algorithm>
14#include <memory>
15
16/*~~~~~~~~~~~~*/
17/* Geant4 */
18/*~~~~~~~~~~~~*/
19#include "G4VUserPrimaryGeneratorAction.hh"
20
21/*~~~~~~~~~~~~~~~*/
22/* Framework */
23/*~~~~~~~~~~~~~~~*/
24#include "Framework/Configure/Parameters.h"
25
26// Forward declarations
27class G4Event;
28
29namespace simcore {
30
42class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction {
43 public:
44 /*
45 * Constructor
46 *
47 * @param parameters The parameters used to configure the primary
48 * generator action.
49 */
51
55 virtual ~PrimaryGeneratorAction() = default;
56
88 void GeneratePrimaries(G4Event* event) override;
89
90 private:
98
99}; // PrimaryGeneratorAction
100
101} // namespace simcore
102
103#endif // SIMCORE_G4USER_PRIMARYGENERATORACTION_H
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Implementation of Geant4 primary generator action.
virtual ~PrimaryGeneratorAction()=default
Class destructor.
bool time_shift_primaries_
Should we time-shift so that the primary vertices arrive (or originate) at t=0ns at z_=0mm?
void GeneratePrimaries(G4Event *event) override
Generate primaries for the event.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...