File indexing completed on 2025-01-18 09:58:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #define INCLXX_IN_GEANT4_MODE 1
0035
0036 #include "globals.hh"
0037
0038 #include "G4INCLParticle.hh"
0039 #include "G4INCLIChannel.hh"
0040 #include "G4INCLNucleus.hh"
0041 #include "G4INCLAllocationPool.hh"
0042 #include "G4INCLFinalState.hh"
0043 #include "G4INCLICoulomb.hh"
0044 #include <utility>
0045 #include <string>
0046 #include <vector>
0047 #include <iostream>
0048 #include <fstream>
0049 #include <sstream>
0050
0051
0052 #ifndef G4INCLPbarAtrestEntry_hh
0053 #define G4INCLPbarAtrestEntry_hh 1
0054
0055 namespace G4INCL {
0056
0057 class FinalState;
0058
0059 class PbarAtrestEntryChannel : public IChannel {
0060 public:
0061 PbarAtrestEntryChannel(Nucleus *n, Particle *p);
0062 virtual ~PbarAtrestEntryChannel();
0063
0064 void fillFinalState(FinalState *fs);
0065
0066 ParticleList makeMesonStar();
0067 G4double PbarCoulombicCascadeEnergy(G4int A, G4int Z);
0068 G4double n_annihilation(G4int A, G4int Z);
0069 IAvatarList bringMesonStar(ParticleList const &pL, Nucleus * const n);
0070 G4bool ProtonIsTheVictim();
0071 ThreeVector getAnnihilationPosition();
0072
0073 G4double fctrl(const G4double arg1);
0074 G4double r1(const G4int n);
0075 G4double r2(const G4int n);
0076 G4double r3(G4double x, const G4int n);
0077 G4double r4(G4double x, const G4int n);
0078 G4double radial_wavefunction(G4double x, const G4int n);
0079 G4double densityP(G4double x);
0080 G4double densityN(G4double x);
0081 G4double overlapP(G4double &x, const G4int n);
0082 G4double overlapN(G4double &x, const G4int n);
0083 G4double read_file(std::string filename, std::vector<G4double>& probabilities, std::vector<std::vector<std::string>>& particle_types);
0084 G4int findStringNumber(G4double rdm, std::vector<G4double> yields);
0085
0086 private:
0087 Nucleus *theNucleus;
0088 Particle *theParticle;
0089
0090
0091 INCL_DECLARE_ALLOCATION_POOL(PbarAtrestEntryChannel)
0092 };
0093 }
0094
0095 #endif