Bayeux  3.4.1
Core Foundation library for SuperNEMO
particle.h
Go to the documentation of this file.
1 #ifndef GENBB_DECAY0_PARTICLE_H_
2 #define GENBB_DECAY0_PARTICLE_H_ 1
3 
4 // Standard library:
5 #include <string>
6 
7 namespace mygsl{
8  class rng;
9 }
10 
11 namespace genbb {
12 
13  class primary_event;
14 
15  namespace decay0 {
16 
18  {
19  GAMMA = 1, // gamma
20  POSITRON = 2, // positron
21  ELECTRON = 3, // electron
22  NEUTRINO = 4, // neutrino
23  MUONPLUS = 5, // muon+
24  MUONMINUS = 6, // muon-
25  PION0 = 7, // pion0
26  PIONPLUS = 8, // pion+
27  PIONMINUS = 9, // pion-
28  KAON0LONG = 10, // kaon0 long
29  KAONPLUS = 11, // kaon+
30  KAONMINUS = 12, // kaon-
31  NEUTRON = 13, // neutron
32  PROTON = 14, // proton
33  ANTIPROTON = 15, // antiproton
34  KAON0SHORT = 16, // kaon0 short
35  ETA = 17, // eta
36  LAMBDA = 18, // lambda
37  SIGMAPLUS = 19, // sigma+
38  SIGMA0 = 20, // sigma0
39  SIGMAMINUS = 21, // sigma-
40  XI0 = 22, // xi0
41  XIMINUS = 23, // xi-
42  OMEGA = 24, // omega
43  ANTINEUTRON = 25, // antineutron
44  ANTILAMBDA = 26, // antilambda
45  ANTISIGMAMINUS = 27, // antisigma-
46  ANTISIGMA0 = 28, // antisigma0
47  ANTISIGMAPLUS = 29, // antisigma+
48  ANTIXI0 = 30, // antixi0
49  ANTIXIPLUS = 31, // antixi+
50  ANTIOMEGAPLUS = 32, // antiomega+
51  DEUTERON = 45, // deuteron
52  TRITIUM = 46, // tritium
53  ALPHA = 47, // alpha
54  GEANTINO = 48, // geantino
55  HE3 = 49, // He3
56  CERENKOV = 50 // Cerenkov
57  };
58 
60  const std::string decay0_geant3_particle_name(int np);
61 
63  double decay0_particle_mass(int np);
64 
65  double decay0_emass();
66 
68  // Input : np - GEANT number for particle identification:
69  // 1 - gamma 2 - positron 3 - electron
70  // 4 - neutrino 5 - muon+ 6 - muon-
71  // 7 - pion0 8 - pion+ 9 - pion-
72  // 10 - kaon0 long 11 - kaon+ 12 - kaon-
73  // 13 - neutron 14 - proton 15 - antiproton
74  // 16 - kaon0 short 17 - eta 18 - lambda
75  // 19 - sigma+ 20 - sigma0 21 - sigma-
76  // 22 - xi0 23 - xi- 24 - omega
77  // 25 - antineutron 26 - antilambda 27 - antisigma-
78  // 28 - antisigma0 29 - antisigma+ 30 - antixi0
79  // 31 - antixi+ 32 - antiomega+ 45 - deuteron
80  // 46 - tritium 47 - alpha 48 - geantino
81  // 49 - He3 50 - Cerenkov;
82  // E1,E2 - range of kinetic energy of particle (MeV);
83  // teta1,teta2 - range of teta angle (radians);
84  // phi1,phi2 - range of phi angle (radians);
85  // tclev - time of creation of level from which particle will be
86  // emitted (sec);
87  // thlev - level halflife (sec).
88  // Output: tdlev - time of decay of level (sec);
89  // VIT, 15.10.1995.
90  void decay0_particle(mygsl::rng & prng, primary_event & event,
91  int np, double E1, double E2,
92  double teta1, double teta2,
93  double phi1, double phi2,
94  double tclev, double thlev, double & tdlev);
95 
96  } // end of namespace decay0
97 } // end of namespace genbb
98 
99 #endif // GENBB_DECAY0_PARTICLE_H_
100 //
101 // Local Variables: --
102 // mode: c++ --
103 // End: --
Definition: particle.h:29
Definition: particle.h:21
Definition: particle.h:39
Definition: particle.h:33
Definition: particle.h:55
Definition: particle.h:52
Definition: particle.h:20
double decay0_particle_mass(int np)
Return the mass of the particle with given ID (MeV)
Definition: particle.h:30
Definition: particle.h:56
Definition: particle.h:38
Definition: particle.h:41
Definition: particle.h:31
Definition: particle.h:34
Definition: particle.h:48
double decay0_emass()
Definition: particle.h:46
void decay0_particle(mygsl::rng &prng, primary_event &event, int np, double E1, double E2, double teta1, double teta2, double phi1, double phi2, double tclev, double thlev, double &tdlev)
Generation of isotropical emission of particle in the range of energies and angles.
Definition: particle.h:22
Definition: particle.h:54
Definition: particle.h:44
Definition: particle.h:19
Definition: particle.h:28
Definition: particle.h:24
Definition: particle.h:23
Definition: particle.h:51
Top-level namespace of the Bayeux/genbb_help module library.
Definition: alpha_decay.h:51
Definition: particle.h:32
decay0_particle_type
Definition: particle.h:17
Definition: particle.h:35
Definition: particle.h:42
Top-level namespace of the Bayeux/mygsl module library.
Definition: base_decay_driver.h:47
Definition: particle.h:27
Definition: particle.h:53
A primary event from a Monte-Carlo generator.
Definition: primary_event.h:60
Definition: particle.h:47
Definition: particle.h:40
Definition: particle.h:49
Definition: particle.h:43
Definition: particle.h:25
const std::string decay0_geant3_particle_name(int np)
Return the name of the particle with given ID (MeV)
Definition: particle.h:50
Definition: particle.h:26
Definition: particle.h:36
Definition: particle.h:37
Definition: particle.h:45
Pseudo random number generator.
Definition: rng.h:53