File indexing completed on 2025-01-18 09:59:02
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 #ifndef G4Reggeons_h
0027 #define G4Reggeons_h 1
0028
0029
0030 #include "G4Proton.hh"
0031 #include "G4Neutron.hh"
0032
0033 #include "G4PionPlus.hh"
0034 #include "G4PionMinus.hh"
0035 #include "G4PionZero.hh"
0036
0037 #include "G4KaonPlus.hh"
0038 #include "G4KaonMinus.hh"
0039 #include "G4KaonZero.hh"
0040 #include "G4KaonZeroShort.hh"
0041 #include "G4KaonZeroLong.hh"
0042 #include "G4Gamma.hh"
0043
0044 #include "Randomize.hh"
0045
0046 class G4Reggeons
0047 {
0048 public:
0049 G4Reggeons(const G4ParticleDefinition * );
0050
0051 G4double Get_Cprojectile();
0052
0053 G4double Get_Ctarget();
0054
0055 ~G4Reggeons();
0056
0057 void SetS(G4double S);
0058 void CalculateXs();
0059
0060 G4double Chi_pomeron(G4double Mult, G4double B);
0061 G4double Chi_reggeon(G4double Mult, G4double B);
0062
0063 G4double GetTotalX();
0064 G4double GetTotalXp();
0065 G4double GetTotalXr();
0066
0067 G4double GetElasticX();
0068 G4double GetPrDiffX();
0069 G4double GetTrDiffX();
0070 G4double GetDDiffX();
0071
0072 G4double GetInelX();
0073 G4double GetND_X();
0074 G4double GetNDp_X();
0075 G4double GetNDr_X();
0076
0077 void GetProbabilities(G4double B, G4int Mode,
0078 G4double & Pint,
0079 G4double & Pprd, G4double & Ptrd, G4double & Pdd,
0080 G4double & Pnd, G4double & Pnvr);
0081
0082 G4int ncPomerons();
0083
0084 private:
0085 enum { ALL, WITHOUT_R, NON_DIFF };
0086
0087 G4ParticleDefinition * Target=G4Proton::Proton();
0088
0089 G4double Alpha_pomeron, Alphaprime_pomeron, Gamma_pomeron, Rsquare_pomeron, S0_pomeron;
0090 G4double Alpha_pomeronHard, Gamma_pomeronHard;
0091
0092 G4double Freggeon_Alpha, Freggeon_Alphaprime, Freggeon_Gamma, Freggeon_Rsquare, Freggeon_C, FParity;
0093 G4double Wreggeon_Alpha, Wreggeon_Alphaprime, Wreggeon_Gamma, Wreggeon_Rsquare, Wreggeon_C, WParity;
0094
0095 G4double C_pomeron;
0096 G4double Cpr_pomeron;
0097 G4double Ctr_pomeron;
0098
0099 G4double Sint=0.;
0100
0101 G4double chiPin;
0102
0103 G4double Xtotal , XtotalP, XtotalR;
0104 G4double Xelastic, Xpr_Diff, Xtr_Diff, XDDiff;
0105 G4double Xinel , Xnd, XndP, XndR;
0106 };
0107
0108 #endif