11#ifndef SHIPGEN_COSMICSGENERATOR_H_
12#define SHIPGEN_COSMICSGENERATOR_H_
21class FairPrimaryGenerator;
26 rng =
new TRandom3(gRandom->GetSeed());
27 fTheta =
new TF1(
"f2",
"cos(x)*cos(x)", 0, TMath::Pi() / 2);
30 new TF1(
"f4",
"1400*TMath::Power(x,-2.7)*(1/(1+x/115)+0.054/(1+x/850))",
38 double Uniform(Float_t min, Float_t max) {
return rng->Uniform(min, max); };
53 std::cout <<
nInside <<
" events have been generated." << std::endl;
54 std::cout <<
"There is a total of " <<
nInside <<
"/" <<
nTest
55 <<
" muons that passed close enough to the detector."
57 std::cout <<
"Including the given weight this corresponds to ";
60 std::cout <<
" real cosmic muons = " <<
n_EVENTS <<
" simulated events)."
66 Bool_t
ReadEvent(FairPrimaryGenerator*)
override;
68 virtual Bool_t
Init(Bool_t largeMom);
69 Bool_t
Init(
const char* inFile)
override {
return Init(inFile, 0); };
71 Bool_t
Init(
const char* inFile,
int startEvent)
override {
72 LOG(warning) <<
"Init with files not implemented for CosmicsGenerator.";
83 double P,
px,
py,
pz,
x,
y,
z,
weighttest,
weight,
mass,
FluxIntegral,
theta;
double fSpectrumL(double theta, double minE, Bool_t generateP)
double Uniform(Float_t min, Float_t max)
Bool_t Init(const char *inFile, int startEvent) override
~CosmicsGenerator() override
Bool_t Init(const char *inFile) override
Bool_t ReadEvent(FairPrimaryGenerator *) override
virtual Bool_t Init(Bool_t largeMom)
virtual Bool_t Init(const char *, int)=0