CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Static Public Member Functions | Private Member Functions | Static Private Attributes
CMSSIMP Class Reference

#include <CMSSIMP.h>

Inheritance diagram for CMSSIMP:

Static Public Member Functions

static CMSSIMPDefinition (double mass)
 
static CMSSIMPSIMP ()
 
static CMSSIMPSIMPDefinition (double mass)
 

Private Member Functions

 CMSSIMP ()
 
 ~CMSSIMP () override
 

Static Private Attributes

static CMSSIMPtheInstance = nullptr
 

Detailed Description

Definition at line 8 of file CMSSIMP.h.

Constructor & Destructor Documentation

CMSSIMP::CMSSIMP ( )
inlineprivate

Definition at line 11 of file CMSSIMP.h.

11 {}
CMSSIMP::~CMSSIMP ( )
inlineoverrideprivate

Definition at line 12 of file CMSSIMP.h.

12 {}

Member Function Documentation

CMSSIMP * CMSSIMP::Definition ( double  mass)
static

Definition at line 12 of file CMSSIMP.cc.

References mergeVDriftHistosByStation::name, and theInstance.

Referenced by CustomParticleFactory::addCustomParticle(), SIMP(), and SIMPDefinition().

12  {
13  if (theInstance != nullptr)
14  return theInstance;
15  const G4String name = "chi";
16  // search in particle table]
17  G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
18  G4ParticleDefinition* anInstance = pTable->FindParticle(name);
19  if (anInstance == nullptr) {
20  // create particle
21  //
22  // Arguments for constructor are as follows
23  // name mass width charge
24  // 2*spin parity C-conjugation
25  // 2*Isospin 2*Isospin3 G-parity
26  // type lepton number baryon number PDG encoding
27  // stable lifetime decay table
28  // shortlived subType anti_encoding
29 
30  anInstance = new G4ParticleDefinition(
31  name, mass, 0, 0.0, 1, +1, 0, 0, -1, 0, "simp", 0, +1, 9000006, true, -1.0, nullptr, false, "nucleon");
32  }
33  theInstance = reinterpret_cast<CMSSIMP*>(anInstance);
34  return theInstance;
35 }
Definition: CMSSIMP.h:8
static CMSSIMP * theInstance
Definition: CMSSIMP.h:10
CMSSIMP * CMSSIMP::SIMP ( )
static

Definition at line 39 of file CMSSIMP.cc.

References Definition().

Referenced by CMSSIMPInelasticProcess::CMSSIMPInelasticProcess().

39  {
40  return Definition(1 * GeV); // will use correct mass if instance exists
41 }
static CMSSIMP * Definition(double mass)
Definition: CMSSIMP.cc:12
CMSSIMP * CMSSIMP::SIMPDefinition ( double  mass)
static

Definition at line 37 of file CMSSIMP.cc.

References Definition().

37 { return Definition(mass); }
static CMSSIMP * Definition(double mass)
Definition: CMSSIMP.cc:12

Member Data Documentation

CMSSIMP * CMSSIMP::theInstance = nullptr
staticprivate

Definition at line 10 of file CMSSIMP.h.

Referenced by Definition().