src
SimG4Core
CustomPhysics
src
CMSAntiSIMP.cc
Go to the documentation of this file.
1
2
#include "
SimG4Core/CustomPhysics/interface/CMSAntiSIMP.h
"
3
#include "G4PhysicalConstants.hh"
4
#include <CLHEP/Units/SystemOfUnits.h>
5
#include "G4ParticleTable.hh"
6
7
#include "G4PhaseSpaceDecayChannel.hh"
8
#include "G4DecayTable.hh"
9
10
CMSAntiSIMP
*
CMSAntiSIMP::theInstance
=
nullptr
;
11
12
CMSAntiSIMP
*
CMSAntiSIMP::Definition
(
double
mass
) {
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
}
36
37
CMSAntiSIMP
*
CMSAntiSIMP::AntiSIMPDefinition
(
double
mass
) {
return
Definition
(
mass
); }
38
39
CMSAntiSIMP
*
CMSAntiSIMP::AntiSIMP
() {
40
return
Definition
(1 * CLHEP::GeV);
// will use correct mass if instance exists
41
}
CMSAntiSIMP::AntiSIMPDefinition
static CMSAntiSIMP * AntiSIMPDefinition(double mass)
Definition:
CMSAntiSIMP.cc:37
mergeVDriftHistosByStation.name
name
Definition:
mergeVDriftHistosByStation.py:78
CMSAntiSIMP::AntiSIMP
static CMSAntiSIMP * AntiSIMP()
Definition:
CMSAntiSIMP.cc:39
CMSAntiSIMP.h
CMSAntiSIMP
Definition:
CMSAntiSIMP.h:8
EgHLTOffHistBins_cfi.mass
mass
Definition:
EgHLTOffHistBins_cfi.py:34
CMSAntiSIMP::Definition
static CMSAntiSIMP * Definition(double mass)
Definition:
CMSAntiSIMP.cc:12
CMSAntiSIMP::theInstance
static CMSAntiSIMP * theInstance
Definition:
CMSAntiSIMP.h:10
Generated for CMSSW Reference Manual by
1.8.14