CMS 3D CMS Logo

List of all members | Static Public Member Functions | Private Member Functions | Static Private Attributes
CMSAntiSIMP Class Reference

#include <CMSAntiSIMP.h>

Inheritance diagram for CMSAntiSIMP:

Static Public Member Functions

static CMSAntiSIMPAntiSIMP ()
 
static CMSAntiSIMPAntiSIMPDefinition (double mass)
 
static CMSAntiSIMPDefinition (double mass)
 

Private Member Functions

 CMSAntiSIMP ()
 
 ~CMSAntiSIMP () override
 

Static Private Attributes

static CMSAntiSIMPtheInstance = nullptr
 

Detailed Description

Definition at line 8 of file CMSAntiSIMP.h.

Constructor & Destructor Documentation

◆ CMSAntiSIMP()

CMSAntiSIMP::CMSAntiSIMP ( )
inlineprivate

Definition at line 11 of file CMSAntiSIMP.h.

11 {}

◆ ~CMSAntiSIMP()

CMSAntiSIMP::~CMSAntiSIMP ( )
inlineoverrideprivate

Definition at line 12 of file CMSAntiSIMP.h.

12 {}

Member Function Documentation

◆ AntiSIMP()

CMSAntiSIMP * CMSAntiSIMP::AntiSIMP ( )
static

Definition at line 39 of file CMSAntiSIMP.cc.

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

References Definition(), and GeV.

◆ AntiSIMPDefinition()

CMSAntiSIMP * CMSAntiSIMP::AntiSIMPDefinition ( double  mass)
static

Definition at line 37 of file CMSAntiSIMP.cc.

37 { return Definition(mass); }

References Definition(), and EgHLTOffHistBins_cfi::mass.

◆ Definition()

CMSAntiSIMP * CMSAntiSIMP::Definition ( double  mass)
static

Definition at line 12 of file CMSAntiSIMP.cc.

12  {
13  if (theInstance != nullptr)
14  return theInstance;
15  const G4String name = "chibar";
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<CMSAntiSIMP*>(anInstance);
34  return theInstance;
35 }

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

Referenced by CustomParticleFactory::addCustomParticle(), AntiSIMP(), and AntiSIMPDefinition().

Member Data Documentation

◆ theInstance

CMSAntiSIMP * CMSAntiSIMP::theInstance = nullptr
staticprivate

Definition at line 10 of file CMSAntiSIMP.h.

Referenced by Definition().

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