CMS 3D CMS Logo

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::CMSSIMP ( )
inlineprivate

Definition at line 11 of file CMSSIMP.h.

11 {}

◆ ~CMSSIMP()

CMSSIMP::~CMSSIMP ( )
inlineoverrideprivate

Definition at line 12 of file CMSSIMP.h.

12 {}

Member Function Documentation

◆ Definition()

CMSSIMP * CMSSIMP::Definition ( double  mass)
static

Definition at line 12 of file CMSSIMP.cc.

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 }

References EgHLTOffHistBins_cfi::mass, Skims_PA_cff::name, and theInstance.

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

◆ SIMP()

CMSSIMP * CMSSIMP::SIMP ( )
static

Definition at line 39 of file CMSSIMP.cc.

39  {
40  return Definition(1 * GeV); // will use correct mass if instance exists
41 }

References Definition(), and GeV.

Referenced by CMSSIMPInelasticProcess::CMSSIMPInelasticProcess().

◆ SIMPDefinition()

CMSSIMP * CMSSIMP::SIMPDefinition ( double  mass)
static

Definition at line 37 of file CMSSIMP.cc.

37 { return Definition(mass); }

References Definition(), and EgHLTOffHistBins_cfi::mass.

Member Data Documentation

◆ theInstance

CMSSIMP * CMSSIMP::theInstance = nullptr
staticprivate

Definition at line 10 of file CMSSIMP.h.

Referenced by Definition().

GeV
const double GeV
Definition: MathUtil.h:16
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
CMSSIMP::theInstance
static CMSSIMP * theInstance
Definition: CMSSIMP.h:10
CMSSIMP::Definition
static CMSSIMP * Definition(double mass)
Definition: CMSSIMP.cc:12