StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHyperNuclei.hh
1 /*
2  * $Id: StHyperNuclei.hh,v 1.2 2021/01/25 11:19:23 jwebb Exp $
3  *
4  * $Log: StHyperNuclei.hh,v $
5  * Revision 1.2 2021/01/25 11:19:23 jwebb
6  * Ensure that an instance of the particle data is available.
7  *
8  * Revision 1.1 2021/01/13 12:16:39 jwebb
9  *
10  * Definitions for H4-Lambda, He4-Lambda and He5-Lambda hypernuclei.
11  *
12  *
13  */
14 #ifndef StHyperNuclei_hh
15 #define StHyperNuclei_hh
16 
17 #include "StIon.hh"
18 #include "StarPDGEncoding.hh"
19 #include "SystemOfUnits.h"
20 
21 class StH4Lambda : public StIon {
22 public:
23  static StH4Lambda* instance() {
24  return &mH4Lambda;
25  };
26 
27 private:
28  static StH4Lambda mH4Lambda;
29 
30  StH4Lambda(const string &aName="H4Lambda",
31  double mass =3.92727 *GeV,
32  double width=0.0*MeV, /* TODO */
33  double charge=+1 *eplus,
34  int iSpin=0,
35  int iParity=0,
36  int iConjugation=0,
37  int iIsospin=0,
38  int iIsospinZ=0,
39  int gParity=0,
40  const string & pType="hypernucleus",
41  int lepton=0,
42  int baryon=4,
43  int encoding=hid(1,3,1),
44  bool stable=false,
45  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
46  { /* nada */ }
47 };
48 class StHe4Lambda : public StIon {
49 public:
50  static StHe4Lambda* instance() {
51  return &mHe4Lambda;
52  };
53 
54 private:
55  static StHe4Lambda mHe4Lambda;
56 
57  StHe4Lambda(const string &aName="He4Lambda",
58  double mass =3.92168 *GeV,
59  double width=0.0*MeV, /* TODO */
60  double charge=+2 *eplus,
61  int iSpin=0,
62  int iParity=0,
63  int iConjugation=0,
64  int iIsospin=0,
65  int iIsospinZ=0,
66  int gParity=0,
67  const string & pType="hypernucleus",
68  int lepton=0,
69  int baryon=4,
70  int encoding=hid(2,3,1),
71  bool stable=false,
72  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
73  { /* nada */ }
74 };
75 class StHe5Lambda : public StIon {
76 public:
77  static StHe5Lambda* instance() {
78  return &mHe5Lambda;
79  };
80 
81 private:
82  static StHe5Lambda mHe5Lambda;
83 
84  StHe5Lambda(const string &aName="He5Lambda",
85  double mass =4.83978 *GeV,
86  double width=0.0*MeV, /* TODO */
87  double charge=+2 *eplus,
88  int iSpin=0,
89  int iParity=0,
90  int iConjugation=0,
91  int iIsospin=0,
92  int iIsospinZ=0,
93  int gParity=0,
94  const string & pType="hypernucleus",
95  int lepton=0,
96  int baryon=4,
97  int encoding=hid(2,4,1),
98  bool stable=false,
99  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
100  { /* nada */ }
101 };
102 
103 class StH4LambdaBar : public StIon {
104 public:
105  static StH4LambdaBar* instance() {
106  return &mH4LambdaBar;
107  };
108 
109 private:
110  static StH4LambdaBar mH4LambdaBar;
111 
112  StH4LambdaBar(const string &aName="H4LambdaBar",
113  double mass =3.92727 *GeV,
114  double width=0.0*MeV, /* TODO */
115  double charge=-1 *eplus,
116  int iSpin=0,
117  int iParity=0,
118  int iConjugation=0,
119  int iIsospin=0,
120  int iIsospinZ=0,
121  int gParity=0,
122  const string & pType="hypernucleus",
123  int lepton=0,
124  int baryon=4,
125  int encoding=hid(1,3,1),
126  bool stable=false,
127  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
128  { /* nada */ }
129 };
130 class StHe4LambdaBar : public StIon {
131 public:
132  static StHe4LambdaBar* instance() {
133  return &mHe4LambdaBar;
134  };
135 
136 private:
137  static StHe4LambdaBar mHe4LambdaBar;
138 
139  StHe4LambdaBar(const string &aName="He4LambdaBar",
140  double mass =3.92168 *GeV,
141  double width=0.0*MeV, /* TODO */
142  double charge=-2 *eplus,
143  int iSpin=0,
144  int iParity=0,
145  int iConjugation=0,
146  int iIsospin=0,
147  int iIsospinZ=0,
148  int gParity=0,
149  const string & pType="hypernucleus",
150  int lepton=0,
151  int baryon=4,
152  int encoding=hid(2,3,1),
153  bool stable=false,
154  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
155  { /* nada */ }
156 };
157 class StHe5LambdaBar : public StIon {
158 public:
159  static StHe5LambdaBar* instance() {
160  return &mHe5LambdaBar;
161  };
162 
163 private:
164  static StHe5LambdaBar mHe5LambdaBar;
165 
166  StHe5LambdaBar(const string &aName="He5LambdaBar",
167  double mass =4.83978 *GeV,
168  double width=0.0*MeV, /* TODO */
169  double charge=-2 *eplus,
170  int iSpin=0,
171  int iParity=0,
172  int iConjugation=0,
173  int iIsospin=0,
174  int iIsospinZ=0,
175  int gParity=0,
176  const string & pType="hypernucleus",
177  int lepton=0,
178  int baryon=4,
179  int encoding=hid(2,4,1),
180  bool stable=false,
181  double lifetime=2.632e-10) : StIon(aName,mass,width,charge,iSpin,iParity,iConjugation,iIsospin,iIsospinZ,gParity,pType,lepton,baryon,encoding,stable,lifetime)
182  { /* nada */ }
183 };
184 
185 #endif
Definition: StIon.hh:26