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

#include <G4AntiHyperAlpha.hh>

+ Inheritance diagram for G4AntiHyperAlpha:

Static Public Member Functions

static G4AntiHyperAlphaDefinition ()
 
static G4AntiHyperAlphaAntiHyperAlphaDefinition ()
 
static G4AntiHyperAlphaAntiHyperAlpha ()
 
- Static Public Member Functions inherited from G4Ions
static G4Ions::G4FloatLevelBase FloatLevelBase (char flbChar)
 
static G4Ions::G4FloatLevelBase FloatLevelBase (G4int flbIdx)
 
static char FloatLevelBaseChar (G4Ions::G4FloatLevelBase flb)
 
- Static Public Member Functions inherited from G4ParticleDefinition
static const G4PDefManagerGetSubInstanceManager ()
 
static void Clean ()
 

Additional Inherited Members

- Public Types inherited from G4Ions
enum class  G4FloatLevelBase {
  no_Float =0 , plus_X , plus_Y , plus_Z ,
  plus_U , plus_V , plus_W , plus_R ,
  plus_S , plus_T , plus_A , plus_B ,
  plus_C , plus_D , plus_E
}
 
- Public Member Functions inherited from G4Ions
 G4Ions (const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospin3, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived, const G4String &subType="", G4int anti_encoding=0, G4double excitation=0.0, G4int isomer=0)
 
virtual ~G4Ions ()
 
G4IonsIonsDefinition ()
 
G4IonsIons ()
 
G4double GetExcitationEnergy () const
 
G4int GetIsomerLevel () const
 
G4Ions::G4FloatLevelBase GetFloatLevelBase () const
 
G4int GetFloatLevelBaseIndex () const
 
void SetFloatLevelBase (G4Ions::G4FloatLevelBase flb)
 
void SetFloatLevelBase (char flbChar)
 
void SetFloatLevelBase (G4int flbIdx)
 
- Public Member Functions inherited from G4ParticleDefinition
 G4ParticleDefinition (const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospinZ, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived=false, const G4String &subType="", G4int anti_encoding=0, G4double magneticMoment=0.0)
 
virtual ~G4ParticleDefinition ()
 
 G4ParticleDefinition (const G4ParticleDefinition &)=delete
 
G4ParticleDefinitionoperator= (const G4ParticleDefinition &)=delete
 
G4bool operator== (const G4ParticleDefinition &right) const
 
G4bool operator!= (const G4ParticleDefinition &right) const
 
const G4StringGetParticleName () const
 
G4double GetPDGMass () const
 
G4double GetPDGWidth () const
 
G4double GetPDGCharge () const
 
G4double GetPDGSpin () const
 
G4int GetPDGiSpin () const
 
G4int GetPDGiParity () const
 
G4int GetPDGiConjugation () const
 
G4double GetPDGIsospin () const
 
G4double GetPDGIsospin3 () const
 
G4int GetPDGiIsospin () const
 
G4int GetPDGiIsospin3 () const
 
G4int GetPDGiGParity () const
 
G4double GetPDGMagneticMoment () const
 
void SetPDGMagneticMoment (G4double mageticMoment)
 
G4double CalculateAnomaly () const
 
const G4StringGetParticleType () const
 
const G4StringGetParticleSubType () const
 
G4int GetLeptonNumber () const
 
G4int GetBaryonNumber () const
 
G4int GetPDGEncoding () const
 
G4int GetAntiPDGEncoding () const
 
void SetAntiPDGEncoding (G4int aEncoding)
 
G4int GetQuarkContent (G4int flavor) const
 
G4int GetAntiQuarkContent (G4int flavor) const
 
G4bool IsShortLived () const
 
G4bool GetPDGStable () const
 
void SetPDGStable (const G4bool aFlag)
 
G4double GetPDGLifeTime () const
 
void SetPDGLifeTime (G4double aLifeTime)
 
G4double GetIonLifeTime () const
 
G4DecayTableGetDecayTable () const
 
void SetDecayTable (G4DecayTable *aDecayTable)
 
G4ProcessManagerGetProcessManager () const
 
void SetProcessManager (G4ProcessManager *aProcessManager)
 
G4VTrackingManagerGetTrackingManager () const
 
void SetTrackingManager (G4VTrackingManager *aTrackingManager)
 
G4ParticleTableGetParticleTable () const
 
G4int GetAtomicNumber () const
 
G4int GetAtomicMass () const
 
void DumpTable () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void SetApplyCutsFlag (G4bool)
 
G4bool GetApplyCutsFlag () const
 
G4bool IsGeneralIon () const
 
G4bool IsMuonicAtom () const
 
G4ProcessManagerGetMasterProcessManager () const
 
void SetMasterProcessManager (G4ProcessManager *aNewPM)
 
G4int GetInstanceID () const
 
void SetParticleDefinitionID (G4int id=-1)
 
G4int GetParticleDefinitionID () const
 
G4bool IsHypernucleus () const
 
G4int GetNumberOfLambdasInHypernucleus () const
 
G4bool IsAntiHypernucleus () const
 
G4int GetNumberOfAntiLambdasInAntiHypernucleus () const
 
- Protected Types inherited from G4ParticleDefinition
enum  { NumberOfQuarkFlavor = 6 }
 
- Protected Member Functions inherited from G4Ions
 G4Ions ()
 
- Protected Member Functions inherited from G4ParticleDefinition
 G4ParticleDefinition ()
 
G4int FillQuarkContents ()
 
void SetParticleSubType (const G4String &subtype)
 
void SetAtomicNumber (G4int)
 
void SetAtomicMass (G4int)
 
- Protected Attributes inherited from G4ParticleDefinition
G4int theQuarkContent [NumberOfQuarkFlavor]
 
G4int theAntiQuarkContent [NumberOfQuarkFlavor]
 
G4bool isGeneralIon = false
 
G4bool isMuonicAtom = false
 

Detailed Description

Definition at line 42 of file G4AntiHyperAlpha.hh.

Member Function Documentation

◆ AntiHyperAlpha()

G4AntiHyperAlpha * G4AntiHyperAlpha::AntiHyperAlpha ( )
static

Definition at line 122 of file G4AntiHyperAlpha.cc.

122 {
123 return Definition();
124}
static G4AntiHyperAlpha * Definition()

Referenced by G4IonConstructor::ConstructHyperNuclei().

◆ AntiHyperAlphaDefinition()

G4AntiHyperAlpha * G4AntiHyperAlpha::AntiHyperAlphaDefinition ( )
static

Definition at line 117 of file G4AntiHyperAlpha.cc.

117 {
118 return Definition();
119}

◆ Definition()

G4AntiHyperAlpha * G4AntiHyperAlpha::Definition ( )
static

Definition at line 45 of file G4AntiHyperAlpha.cc.

45 {
46 if ( theInstance != nullptr ) return theInstance;
47 const G4String name = "anti_hyperalpha";
48 // search in particle table
50 G4Ions* anInstance = static_cast< G4Ions* >( pTable->FindParticle( name ) );
51 if ( anInstance == nullptr ) {
52 // create particle
53 //
54 // Arguments for constructor are as follows
55 // name mass width charge
56 // 2*spin parity C-conjugation
57 // 2*Isospin 2*Isospin3 G-parity
58 // type lepton number baryon number PDG encoding
59 // stable lifetime decay table
60 // shortlived subType anti_encoding
61 // excitation
62 anInstance = new G4Ions( name, 3921.87*MeV, 2.501e-12*MeV, -2.0*eplus,
63 0, +1, 0,
64 0, 0, 0,
65 "anti_nucleus", 0, -4, -1010020040,
66 false, 0.2631*ns, nullptr,
67 false, "static", 1010020040,
68 0.0, 0 );
69 // Magnetic Moment
70 G4double mN = eplus*hbar_Planck/2.0/(proton_mass_c2 /c_squared);
71 anInstance->SetPDGMagneticMoment( 2.97896248 * mN );
72
73 // create Decay Table
74 G4DecayTable* table = new G4DecayTable;
75 // create decay channels
76 /*
77 // The decay "mode[1]" produces the secondary "anti_Li4" which is not existing
78 // in Geant4: we therefore skip it for the time being (similarly for hyperalpha,
79 // to keep the symmetry between particle and anti-particle).
80 const G4double half_br_lambda_to_p_pim = 0.5*0.639;
81 const G4double half_br_lambda_to_n_piz = 0.5*0.358;
82 G4VDecayChannel** mode = new G4VDecayChannel*[4];
83 // anti_lambda -> anti_proton + pi+ , with 50% probability of capturing the anti_proton
84 mode[0] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_p_pim, 3,
85 "anti_He3", "anti_proton", "pi+" );
86 mode[1] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_p_pim, 2,
87 "anti_Li4", "pi+" );
88 // anti_lambda -> anti_neutron + pi0 , with 50% probability of capturing the anti_neutron
89 mode[2] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_n_piz, 3,
90 "anti_He3", "anti_neutron", "pi0" );
91 mode[3] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_n_piz, 2,
92 "anti_alpha", "pi0" );
93 for ( G4int index = 0; index < 4; ++index ) table->Insert( mode[index] );
94 */
95 // Replacement decay for the time being
96 const G4double br_lambda_to_p_pim = 0.639;
97 const G4double half_br_lambda_to_n_piz = 0.5*0.358;
98 G4VDecayChannel** mode = new G4VDecayChannel*[3];
99 // anti_lambda -> anti_proton + pi+ , with 0% probability of capturing the anti_proton
100 mode[0] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", br_lambda_to_p_pim, 3,
101 "anti_He3", "anti_proton", "pi+" );
102 // anti_lambda -> anti_neutron + pi0 , with 50% probability of capturing the anti_neutron
103 mode[1] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_n_piz, 3,
104 "anti_He3", "anti_neutron", "pi0" );
105 mode[2] = new G4PhaseSpaceDecayChannel( "anti_hyperalpha", half_br_lambda_to_n_piz, 2,
106 "anti_alpha", "pi0" );
107 for ( G4int index = 0; index < 3; ++index ) table->Insert( mode[index] );
108 //---
109 delete [] mode;
110 anInstance->SetDecayTable( table );
111 }
112 theInstance = static_cast< G4AntiHyperAlpha* >( anInstance );
113 return theInstance;
114}
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
void Insert(G4VDecayChannel *aChannel)
Definition: G4DecayTable.cc:53
Definition: G4Ions.hh:52
G4Ions()
Definition: G4Ions.cc:102
void SetPDGMagneticMoment(G4double mageticMoment)
void SetDecayTable(G4DecayTable *aDecayTable)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
const char * name(G4int ptype)
#define ns(x)
Definition: xmltok.c:1649

Referenced by AntiHyperAlpha(), AntiHyperAlphaDefinition(), and G4GeneratorPrecompoundInterface::PropagateNuclNucl().


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