ATLAS Offline Software
GMSBNeutralino.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "src/GMSBNeutralino.hh"
6 // ######################################################################
7 // ### Neutralino ###
8 // ######################################################################
9 
10 GMSBNeutralino* GMSBNeutralino::s_theInstance = NULL;
11 
12 GMSBNeutralino* GMSBNeutralino::Definition(G4double mass, G4double width, G4double charge, G4double PDG, G4bool stable, G4double lifetime, G4bool shortlived)
13 {
14 
15  if (s_theInstance !=0 && (mass>=0. || width>=0. || lifetime>=0.) )
16  {
17  G4ExceptionDescription description;
18  description << "Trying to redefine the GMSB Neutralino properties after it has been constructed is not allowed";
19  G4Exception("GMSBNeutralino", "FailedRedefinition", FatalException, description);
20  abort();
21  }
22 
23  if (s_theInstance != 0)
24  {
25  return s_theInstance;
26  }
27 
28  // Arguments for constructor are as follows
29  // name mass width charge
30  // 2*spin parity C-conjugation
31  // 2*Isospin 2*Isospin3 G-parity
32  // type lepton number baryon number PDG encoding
33  // stable lifetime decay table
34  // shortlived subType anti_encoding
35  if (mass >= 0.)
36  {
37 
38  G4ParticleDefinition* anInstance = new G4ParticleDefinition("s_chi_0_1", mass, width, charge,
39  1, 0, 0,
40  0, 0, 0,
41  "supersymmetric", 0, 0, PDG,
42  stable, lifetime, NULL,
43  shortlived, "Neutralino");
44 
45  s_theInstance = reinterpret_cast<GMSBNeutralino*>(anInstance);
46  return s_theInstance;
47  }
48  else
49  {
50  G4ExceptionDescription description;
51  description << "Trying to create a particle with default constructor is not allowed";
52  G4Exception("GMSBNeutralino", "DefaultConstructorCalled", FatalException, description);
53  abort();
54  }
55 }
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
PDG20
Definition: Trigger/TrigHypothesis/TrigBphysHypo/src/Constants.h:9
MCTruthPartClassifier::stable
@ stable
Definition: TruthClassifiers.h:148
charge
double charge(const T &p)
Definition: AtlasPID.h:756
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88