ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTPC20MgDecay_pag.h
Go to the documentation of this file.
1 
2 #ifndef AtTPC20MGDECAY_pag_H
3 #define AtTPC20MGDECAY_pag_H
4 
5 #include <Rtypes.h> // for Double32_t, Bool_t, THashConsistencyHolder
6 
7 #include "FairGenerator.h"
8 class TBuffer;
9 class TClass;
10 class TMemberInspector;
11 class FairPrimaryGenerator;
12 
13 class AtTPC20MgDecay_pag : public FairGenerator {
14 
15 public:
18 
20  virtual ~AtTPC20MgDecay_pag() = default;
21 
23  virtual Bool_t Init();
24 
25  void SetXYZ(Double32_t x = 0, Double32_t y = 0, Double32_t z = 0)
26  {
27  fX = x;
28  fY = y;
29  fZ = z;
30  }
31 
32  void SetBoxXYZ(Double32_t x1 = 0, Double32_t y1 = 0, Double32_t z1 = 0, Double32_t x2 = 0, Double32_t y2 = 0,
33  Double32_t z2 = 0)
34  {
35  fX1 = x1;
36  fY1 = y1;
37  fZ1 = z1;
38  fX2 = x2;
39  fY2 = y2;
40  fZ2 = z2;
41  fBoxVtxIsSet = kTRUE;
42  }
43 
44  virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen);
45 
46  void ShowOnlyAlphaProtonBranch() { fOnlyAPBranch = kTRUE; };
47  void SetNuclearDecayChain() { fNuclearDecayChainIsSet = kTRUE; };
48  void SetDecayChainPoint(Double32_t ParticleEnergy = 0, Double32_t ParticleBranchingRatio = 0);
49 
50 private:
51  Bool_t fOnlyAPBranch; // True if only the beta-alpha-proton branch is visible
52  Bool_t fBoxVtxIsSet; // True if box vertex is set
53 
54  Double32_t fX, fY, fZ; // Point vertex coordinates [cm]
55  Double32_t fX1, fY1, fZ1, fX2, fY2, fZ2; // Box vertex coords (x1,y1,z1)->(x2,y2,z2)
56  Bool_t fNuclearDecayChainIsSet;
57  Int_t fParticlesDefinedInNuclearDecay;
58  Double32_t fParticleEnergies[3] = {0, 0, 0};
59  Double32_t fParticleBranchingRatios[3] = {0, 0, 0};
60  ClassDef(AtTPC20MgDecay_pag, 1)
61 };
62 
63 #endif
AtTPC20MgDecay_pag::ShowOnlyAlphaProtonBranch
void ShowOnlyAlphaProtonBranch()
Definition: AtTPC20MgDecay_pag.h:46
AtTPC20MgDecay_pag::Init
virtual Bool_t Init()
Definition: AtTPC20MgDecay_pag.cxx:24
AtTPC20MgDecay_pag::SetDecayChainPoint
void SetDecayChainPoint(Double32_t ParticleEnergy=0, Double32_t ParticleBranchingRatio=0)
Definition: AtTPC20MgDecay_pag.cxx:144
AtTPC20MgDecay_pag::ReadEvent
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Definition: AtTPC20MgDecay_pag.cxx:31
AtTPC20MgDecay_pag
Definition: AtTPC20MgDecay_pag.h:13
AtTPC20MgDecay_pag::SetBoxXYZ
void SetBoxXYZ(Double32_t x1=0, Double32_t y1=0, Double32_t z1=0, Double32_t x2=0, Double32_t y2=0, Double32_t z2=0)
Definition: AtTPC20MgDecay_pag.h:32
AtTPC20MgDecay_pag::~AtTPC20MgDecay_pag
virtual ~AtTPC20MgDecay_pag()=default
y
const double * y
Definition: lmcurve.cxx:20
AtTPC20MgDecay_pag::SetXYZ
void SetXYZ(Double32_t x=0, Double32_t y=0, Double32_t z=0)
Definition: AtTPC20MgDecay_pag.h:25
AtTPC20MgDecay_pag::SetNuclearDecayChain
void SetNuclearDecayChain()
Definition: AtTPC20MgDecay_pag.h:47
AtTPC20MgDecay_pag::AtTPC20MgDecay_pag
AtTPC20MgDecay_pag()
Definition: AtTPC20MgDecay_pag.cxx:18