Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4SpinDecayPhysics Class Reference

#include <G4SpinDecayPhysics.hh>

+ Inheritance diagram for G4SpinDecayPhysics:

Public Member Functions

 G4SpinDecayPhysics (G4int ver=1)
 
 G4SpinDecayPhysics (const G4String &name, G4int ver=1)
 
 ~G4SpinDecayPhysics () override
 
void ConstructParticle () override
 
void ConstructProcess () override
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 45 of file G4SpinDecayPhysics.hh.

Constructor & Destructor Documentation

◆ G4SpinDecayPhysics() [1/2]

G4SpinDecayPhysics::G4SpinDecayPhysics ( G4int  ver = 1)

Definition at line 56 of file G4SpinDecayPhysics.cc.

◆ G4SpinDecayPhysics() [2/2]

G4SpinDecayPhysics::G4SpinDecayPhysics ( const G4String name,
G4int  ver = 1 
)

Definition at line 61 of file G4SpinDecayPhysics.cc.

63{
64}

◆ ~G4SpinDecayPhysics()

G4SpinDecayPhysics::~G4SpinDecayPhysics ( )
override

Definition at line 66 of file G4SpinDecayPhysics.cc.

67{
68}

Member Function Documentation

◆ ConstructParticle()

void G4SpinDecayPhysics::ConstructParticle ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 70 of file G4SpinDecayPhysics.cc.

71{
75
80
83
86
88
89 G4DecayTable* MuonPlusDecayTable = new G4DecayTable();
90 MuonPlusDecayTable -> Insert(new
91 G4MuonDecayChannelWithSpin("mu+",0.986));
92 MuonPlusDecayTable -> Insert(new
94 G4MuonPlus::MuonPlusDefinition() -> SetDecayTable(MuonPlusDecayTable);
95
96 G4DecayTable* MuonMinusDecayTable = new G4DecayTable();
97 MuonMinusDecayTable -> Insert(new
98 G4MuonDecayChannelWithSpin("mu-",0.986));
99 MuonMinusDecayTable -> Insert(new
101 G4MuonMinus::MuonMinusDefinition() -> SetDecayTable(MuonMinusDecayTable);
102}
static G4AntiNeutrinoE * AntiNeutrinoEDefinition()
static G4AntiNeutrinoMu * AntiNeutrinoMuDefinition()
static G4Electron * ElectronDefinition()
Definition: G4Electron.cc:88
static G4Gamma * GammaDefinition()
Definition: G4Gamma.cc:80
static G4GenericIon * GenericIonDefinition()
Definition: G4GenericIon.cc:87
static G4MuonMinus * MuonMinusDefinition()
Definition: G4MuonMinus.cc:94
static G4MuonPlus * MuonPlusDefinition()
Definition: G4MuonPlus.cc:93
static G4NeutrinoE * NeutrinoEDefinition()
Definition: G4NeutrinoE.cc:79
static G4NeutrinoMu * NeutrinoMuDefinition()
Definition: G4NeutrinoMu.cc:79
static G4PionMinus * PionMinus()
Definition: G4PionMinus.cc:97
static G4PionPlus * PionPlus()
Definition: G4PionPlus.cc:97
static G4Positron * PositronDefinition()
Definition: G4Positron.cc:88
void Insert(const PVNodeID *pvPath, size_t pathLength, G4int index, Node *node)

◆ ConstructProcess()

void G4SpinDecayPhysics::ConstructProcess ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 104 of file G4SpinDecayPhysics.cc.

105{
106 G4DecayWithSpin* decayWithSpin = new G4DecayWithSpin();
107
109
111 decay = processTable->FindProcess("Decay",G4MuonPlus::MuonPlus());
112
114
115 if (fManager) {
116 if (decay) fManager->RemoveProcess(decay);
117 fManager->AddProcess(decayWithSpin);
118 // set ordering for PostStepDoIt and AtRestDoIt
119 fManager ->SetProcessOrdering(decayWithSpin, idxPostStep);
120 fManager ->SetProcessOrdering(decayWithSpin, idxAtRest);
121 }
122
124
125 if (fManager) {
126 if (decay) fManager->RemoveProcess(decay);
127 fManager->AddProcess(decayWithSpin);
128 // set ordering for PostStepDoIt and AtRestDoIt
129 fManager ->SetProcessOrdering(decayWithSpin, idxPostStep);
130 fManager ->SetProcessOrdering(decayWithSpin, idxAtRest);
131 }
132
134
135 decay = processTable->FindProcess("Decay",G4PionPlus::PionPlus());
136
138
139 if (fManager) {
140 if (decay) fManager->RemoveProcess(decay);
141 fManager->AddProcess(poldecay);
142 // set ordering for PostStepDoIt and AtRestDoIt
143 fManager ->SetProcessOrdering(poldecay, idxPostStep);
144 fManager ->SetProcessOrdering(poldecay, idxAtRest);
145 }
146
147 decay = processTable->FindProcess("Decay",G4PionMinus::PionMinus());
148
150
151 if (fManager) {
152 if (decay) fManager->RemoveProcess(decay);
153 fManager->AddProcess(poldecay);
154 // set ordering for PostStepDoIt and AtRestDoIt
155 fManager ->SetProcessOrdering(poldecay, idxPostStep);
156 fManager ->SetProcessOrdering(poldecay, idxAtRest);
157 }
158}
@ idxPostStep
@ idxAtRest
static G4MuonMinus * MuonMinus()
Definition: G4MuonMinus.cc:99
static G4MuonPlus * MuonPlus()
Definition: G4MuonPlus.cc:98
G4ProcessManager * GetProcessManager() const
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
G4VProcess * RemoveProcess(G4VProcess *aProcess)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4ProcessTable * GetProcessTable()
G4VProcess * FindProcess(const G4String &processName, const G4String &particleName) const
ParticleList decay(Cluster *const c)
Carries out a cluster decay.

The documentation for this class was generated from the following files: