File indexing completed on 2025-01-18 09:58:26
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
0039
0040
0041
0042
0043
0044
0045 #ifndef G4INCLCROSSSECTIONSINCL46_HH
0046 #define G4INCLCROSSSECTIONSINCL46_HH
0047
0048 #include "G4INCLICrossSections.hh"
0049
0050 namespace G4INCL {
0051
0052
0053 class CrossSectionsINCL46 : public ICrossSections{
0054 public:
0055
0056
0057 virtual G4double elastic(Particle const * const p1, Particle const * const p2);
0058
0059
0060 virtual G4double total(Particle const * const p1, Particle const * const p2);
0061
0062
0063 virtual G4double NDeltaToNN(Particle const * const p1, Particle const * const p2);
0064
0065
0066 virtual G4double NNToNDelta(Particle const * const p1, Particle const * const p2);
0067
0068
0069 virtual G4double piNToDelta(Particle const * const p1, Particle const * const p2);
0070
0071
0072 virtual G4double NNToxPiNN(const G4int xpi, Particle const * const p1, Particle const * const p2);
0073
0074
0075 virtual G4double piNToxPiN(const G4int xpi, Particle const * const p1, Particle const * const p2);
0076
0077
0078 virtual G4double piNToEtaN(Particle const * const p1, Particle const * const p2);
0079 virtual G4double piNToOmegaN(Particle const * const p1, Particle const * const p2);
0080 virtual G4double piNToEtaPrimeN(Particle const * const p1, Particle const * const p2);
0081
0082
0083 virtual G4double etaNToPiN(Particle const * const p1, Particle const * const p2);
0084 virtual G4double omegaNToPiN(Particle const * const p1, Particle const * const p2);
0085 virtual G4double etaPrimeNToPiN(Particle const * const p1, Particle const * const p2);
0086
0087
0088 virtual G4double etaNToPiPiN(Particle const * const p1, Particle const * const p2);
0089 virtual G4double omegaNToPiPiN(Particle const * const p1, Particle const * const p2);
0090
0091
0092 virtual G4double NNToNNEta(Particle const * const p1, Particle const * const p2);
0093
0094
0095 virtual G4double NNToNNEtaExclu(Particle const * const p1, Particle const * const p2);
0096
0097
0098 virtual G4double NNToNNEtaxPi(const G4int xpi, Particle const * const p1, Particle const * const p2);
0099
0100
0101 virtual G4double NNToNDeltaEta(Particle const * const p1, Particle const * const p2);
0102
0103
0104
0105 virtual G4double NYelastic(Particle const * const p1, Particle const * const p2);
0106 virtual G4double NKbelastic(Particle const * const p1, Particle const * const p2);
0107 virtual G4double NKelastic(Particle const * const p1, Particle const * const p2);
0108
0109
0110 virtual G4double NNToNLK(Particle const * const p1, Particle const * const p2);
0111 virtual G4double NNToNSK(Particle const * const p1, Particle const * const p2);
0112 virtual G4double NNToNLKpi(Particle const * const p1, Particle const * const p2);
0113 virtual G4double NNToNSKpi(Particle const * const p1, Particle const * const p2);
0114 virtual G4double NNToNLK2pi(Particle const * const p1, Particle const * const p2);
0115 virtual G4double NNToNSK2pi(Particle const * const p1, Particle const * const p2);
0116 virtual G4double NNToNNKKb(Particle const * const p1, Particle const * const p2);
0117 virtual G4double NNToMissingStrangeness(Particle const * const p1, Particle const * const p2);
0118
0119
0120 virtual G4double NDeltaToNLK(Particle const * const p1, Particle const * const p2);
0121 virtual G4double NDeltaToNSK(Particle const * const p1, Particle const * const p2);
0122 virtual G4double NDeltaToDeltaLK(Particle const * const p1, Particle const * const p2);
0123 virtual G4double NDeltaToDeltaSK(Particle const * const p1, Particle const * const p2);
0124
0125 virtual G4double NDeltaToNNKKb(Particle const * const p1, Particle const * const p2);
0126
0127
0128 virtual G4double NpiToLK(Particle const * const p1, Particle const * const p2);
0129 virtual G4double NpiToSK(Particle const * const p1, Particle const * const p2);
0130 virtual G4double p_pimToSzKz(Particle const * const p1, Particle const * const p2);
0131 virtual G4double p_pimToSmKp(Particle const * const p1, Particle const * const p2);
0132 virtual G4double p_pizToSzKp(Particle const * const p1, Particle const * const p2);
0133 virtual G4double NpiToLKpi(Particle const * const p1, Particle const * const p2);
0134 virtual G4double NpiToSKpi(Particle const * const p1, Particle const * const p2);
0135 virtual G4double NpiToLK2pi(Particle const * const p1, Particle const * const p2);
0136 virtual G4double NpiToSK2pi(Particle const * const p1, Particle const * const p2);
0137 virtual G4double NpiToNKKb(Particle const * const p1, Particle const * const p2);
0138 virtual G4double NpiToMissingStrangeness(Particle const * const p1, Particle const * const p2);
0139
0140
0141 virtual G4double NLToNS(Particle const * const p1, Particle const * const p2);
0142 virtual G4double NSToNL(Particle const * const p1, Particle const * const p2);
0143 virtual G4double NSToNS(Particle const * const p1, Particle const * const p2);
0144
0145
0146 virtual G4double NKToNK(Particle const * const p1, Particle const * const p2);
0147 virtual G4double NKToNKpi(Particle const * const p1, Particle const * const p2);
0148 virtual G4double NKToNK2pi(Particle const * const p1, Particle const * const p2);
0149
0150
0151 virtual G4double NKbToNKb(Particle const * const p1, Particle const * const p2);
0152 virtual G4double NKbToSpi(Particle const * const p1, Particle const * const p2);
0153 virtual G4double NKbToLpi(Particle const * const p1, Particle const * const p2);
0154 virtual G4double NKbToS2pi(Particle const * const p1, Particle const * const p2);
0155 virtual G4double NKbToL2pi(Particle const * const p1, Particle const * const p2);
0156 virtual G4double NKbToNKbpi(Particle const * const p1, Particle const * const p2);
0157 virtual G4double NKbToNKb2pi(Particle const * const p1, Particle const * const p2);
0158
0159
0160 virtual G4double NNToNNOmega(Particle const * const particle1, Particle const * const particle2);
0161
0162
0163 virtual G4double NNToNNOmegaExclu(Particle const * const particle1, Particle const * const particle2);
0164
0165
0166 virtual G4double NNToNNOmegaxPi(const G4int xpi, Particle const * const p1, Particle const * const p2);
0167
0168
0169 virtual G4double NNToNDeltaOmega(Particle const * const p1, Particle const * const p2);
0170
0171
0172
0173 virtual G4double NNbarElastic(Particle const* const p1, Particle const* const p2);
0174 virtual G4double NNbarCEX(Particle const* const p1, Particle const* const p2);
0175
0176 virtual G4double NNbarToLLbar(Particle const * const p1, Particle const * const p2);
0177
0178
0179 virtual G4double NNbarToNNbarpi(Particle const* const p1, Particle const* const p2);
0180 virtual G4double NNbarToNNbar2pi(Particle const* const p1, Particle const* const p2);
0181 virtual G4double NNbarToNNbar3pi(Particle const* const p1, Particle const* const p2);
0182
0183
0184 virtual G4double NNbarToAnnihilation(Particle const* const p1, Particle const* const p2);
0185
0186
0187
0188
0189
0190
0191
0192
0193 virtual G4double calculateNNAngularSlope(G4double energyCM, G4int iso);
0194
0195 protected:
0196
0197
0198 G4double elasticNNLegacy(Particle const * const part1, Particle const * const part2);
0199
0200
0201 G4double deltaProduction(const G4int isospin, const G4double pLab);
0202
0203 G4double spnPiPlusPHE(const G4double x);
0204 G4double spnPiMinusPHE(const G4double x);
0205
0206 };
0207 }
0208
0209 #endif