ANASEN_analysis/Armory/AnasenG4/include/ReactionGenerator.hh
2026-07-15 14:25:28 -04:00

34 lines
552 B
C++

#ifndef ReactionGenerator_h
#define ReactionGenerator_h 1
#include "G4ThreeVector.hh"
enum class ReactionChannel {
Proton,
Alpha
};
struct ReactionOutput {
ReactionChannel channel;
double kineticEnergy;
double px;
double py;
double pz;
};
class ReactionGenerator {
public:
ReactionGenerator();
~ReactionGenerator();
ReactionOutput SampleEvent(double beamKineticEnergy, const G4ThreeVector& beamDirection);
double GetEffectiveCrossSection() const;
private:
class Impl;
Impl* fImpl;
double fEffectiveSigma;
};
#endif