FairShip
Loading...
Searching...
No Matches
MuonBackGenerator.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// SPDX-FileCopyrightText: Copyright CERN for the benefit of the SHiP
3// Collaboration
4
5#ifndef SHIPGEN_MUONBACKGENERATOR_H_
6#define SHIPGEN_MUONBACKGENERATOR_H_
7
8#include <vector>
9
10#include "FairLogger.h" // for FairLogger, MESSAGE_ORIGIN
11#include "Generator.h"
12#include "TChain.h" // for TChain
13#include "TClonesArray.h"
14#include "TROOT.h"
15
16class FairPrimaryGenerator;
17class ShipMCTrack;
18class vetoPoint;
19
21 public:
24
26 ~MuonBackGenerator() override;
27
29 Bool_t ReadEvent(FairPrimaryGenerator*) override;
30 Bool_t Init(const char*, int) override;
31 Bool_t Init(const char*) override;
32 Bool_t Init(const std::vector<std::string>&, int) override;
33 Bool_t Init(const std::vector<std::string>&) override;
34
35 Int_t GetNevents();
36 void CloseFile();
37 void FollowAllParticles() { followMuons = false; };
38 void SetSmearBeam(Double_t sb) { fsmearBeam = sb; };
39 void SetPaintRadius(Double_t r) { fPaintBeam = r; };
40 void SetSameSeed(Int_t s) {
41 LOGF(info, "Seed: %d", s);
42 fSameSeed = s;
43 };
44 void SetPhiRandomize(Bool_t phiRandomize) { fPhiRandomize = phiRandomize; };
45 Bool_t checkDiMuon(Int_t muIndex);
47
48 private:
49 protected:
50 Float_t id, parentid, pythiaid, w, px, py, pz, vx, vy, vz, ecut;
51 TClonesArray* MCTrack;
52 TClonesArray* vetoPoints;
53 std::vector<ShipMCTrack>* MCTrack_vec;
54 std::vector<vetoPoint>* vetoPoints_vec;
55 Bool_t fUseSTL;
56 TFile* fInputFile;
57 TChain* fTree;
59 float f_zOffset;
60 int fn;
62 Double_t fPaintBeam;
65 Int_t fSameSeed;
66 Double_t fsmearBeam;
67};
68
69#endif // SHIPGEN_MUONBACKGENERATOR_H_ /* !PNDmuGENERATOR_H */
TClonesArray * MCTrack
void SetPaintRadius(Double_t r)
TClonesArray * vetoPoints
Bool_t checkDiMuon(Int_t muIndex)
void SetPhiRandomize(Bool_t phiRandomize)
std::vector< vetoPoint > * vetoPoints_vec
Bool_t ReadEvent(FairPrimaryGenerator *) override
void SetSameSeed(Int_t s)
TFile * fInputFile
flag to indicate if using STL vectors
void SetSmearBeam(Double_t sb)
std::vector< ShipMCTrack > * MCTrack_vec
Bool_t Init(const char *, int) override