ATLAS Offline Software
Loading...
Searching...
No Matches
AMSBNeutralino.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// class header
6#include "AMSBNeutralino.hh"
7
8// ######################################################################
9// ### Neutralino ###
10// ######################################################################
11
12
13AMSBNeutralino* AMSBNeutralino::s_theInstance = NULL;
14
15AMSBNeutralino* AMSBNeutralino::Definition(G4double mass, G4double width, G4double charge, G4double PDG, G4bool stable, G4double lifetime, G4bool shortlived)
16{
17
18 if (s_theInstance !=0 && (mass>=0. || width>=0. || lifetime>=0.) )
19 {
20 G4ExceptionDescription description;
21 description << "Trying to redefine the AMSB Neutralino properties after it has been constructed is not allowed";
22 G4Exception("AMSBNeutralino", "FailedRedefinition", FatalException, description);
23 abort();
24 }
25
26 if (s_theInstance != 0)
27 {
28 return s_theInstance;
29 }
30
31
32 // Arguments for constructor are as follows
33 // name mass width charge
34 // 2*spin parity C-conjugation
35 // 2*Isospin 2*Isospin3 G-parity
36 // type lepton number baryon number PDG encoding
37 // stable lifetime decay table
38 // shortlived subType anti_encoding
39
40 if (mass >= 0)
41 {
42
43 G4ParticleDefinition* anInstance =
44 new G4ParticleDefinition("s_chi_0_1", mass, width, charge,
45 1, 0, 0,
46 0, 0, 0,
47 "supersymmetric", 0, 0, PDG,
48 stable, lifetime, NULL,
49 shortlived, "Neutralino");
50
51 s_theInstance = reinterpret_cast<AMSBNeutralino*>(anInstance);
52 return s_theInstance;
53 }
54 else
55 {
56 G4ExceptionDescription description;
57 description << "Trying to create a particle with default constructor is not allowed";
58 G4Exception("AMSBNeutralino", "DefaultConstructorCalled", FatalException, description);
59 abort();
60 }
61}
double charge(const T &p)
Definition AtlasPID.h:997
const double width
struct PDG20 PDG
std::string description
glabal timer - how long have I taken so far?
Definition hcg.cxx:91