CMS 3D CMS Logo

CMSSQ.cc
Go to the documentation of this file.
1 
3 #include "G4PhysicalConstants.hh"
4 #include "G4SystemOfUnits.hh"
5 #include "G4ParticleTable.hh"
6 
7 #include "G4PhaseSpaceDecayChannel.hh"
8 #include "G4DecayTable.hh"
9 
10 // ######################################################################
11 // ### SEXAQUARK ###
12 // ######################################################################
13 
15 
17  if (theInstance != 0)
18  return theInstance;
19  const G4String name = "sexaq";
20  // search in particle table]
21  G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
22  G4ParticleDefinition* anInstance = pTable->FindParticle(name);
23  if (anInstance == 0) {
24  // create particle
25  //
26  // Arguments for constructor are as follows
27  // name mass width charge
28  // 2*spin parity C-conjugation
29  // 2*Isospin 2*Isospin3 G-parity
30  // type lepton number baryon number PDG encoding
31  // stable lifetime decay table
32  // shortlived subType anti_encoding
33 
34  anInstance = new G4ParticleDefinition(
35  name, mass, 0, 0.0, 0, +1, 0, 0, 0, 0, "baryon", 0, +2, 1020000020, true, -1.0, nullptr, false, "sexaq");
36  }
37  theInstance = reinterpret_cast<CMSSQ*>(anInstance);
38  return theInstance;
39 }
40 
41 CMSSQ* CMSSQ::SQ(double mass) {
42  return Definition(mass * GeV); // will use correct mass if instance exists
43 }
const double GeV
Definition: MathUtil.h:16
static CMSSQ * SQ(double mass)
Definition: CMSSQ.cc:41
static CMSSQ * theInstance
Definition: CMSSQ.h:15
Definition: CMSSQ.h:13
static CMSSQ * Definition(double mass)
Definition: CMSSQ.cc:16