00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef G4LightMedia_h
00033 #define G4LightMedia_h 1
00034
00035 #include "globals.hh"
00036 #include "G4DynamicParticle.hh"
00037 #include "G4Nucleus.hh"
00038 #include "G4ParticleTypes.hh"
00039
00040 class G4LightMedia
00041 {
00042 public:
00043
00044 G4LightMedia() { }
00045
00046 G4LightMedia( const G4LightMedia &right )
00047 { *this = right; }
00048
00049 ~G4LightMedia() { }
00050
00051 G4LightMedia & operator=( const G4LightMedia &)
00052 { return *this; }
00053
00054 G4bool operator==( const G4LightMedia &right ) const
00055 { return ( this == (G4LightMedia *) &right ); }
00056
00057 G4bool operator!=( const G4LightMedia &right ) const
00058 { return ( this != (G4LightMedia *) &right ); }
00059
00060 G4DynamicParticle * PionPlusExchange(
00061 const G4HadProjectile *incidentParticle,
00062 const G4Nucleus &aNucleus );
00063
00064 G4DynamicParticle * PionMinusExchange(
00065 const G4HadProjectile *incidentParticle,
00066 const G4Nucleus &aNucleus );
00067
00068 G4DynamicParticle * KaonPlusExchange(
00069 const G4HadProjectile *incidentParticle,
00070 const G4Nucleus &aNucleus );
00071
00072 G4DynamicParticle * KaonZeroShortExchange(
00073 const G4HadProjectile *incidentParticle,
00074 const G4Nucleus &aNucleus );
00075
00076 G4DynamicParticle * KaonZeroLongExchange(
00077 const G4HadProjectile *incidentParticle,
00078 const G4Nucleus &aNucleus );
00079
00080 G4DynamicParticle * KaonMinusExchange(
00081 const G4HadProjectile *incidentParticle,
00082 const G4Nucleus &aNucleus );
00083
00084 G4DynamicParticle * ProtonExchange(
00085 const G4HadProjectile *incidentParticle,
00086 const G4Nucleus &aNucleus );
00087
00088 G4DynamicParticle * AntiProtonExchange(
00089 const G4HadProjectile *incidentParticle,
00090 const G4Nucleus &aNucleus );
00091
00092 G4DynamicParticle * NeutronExchange(
00093 const G4HadProjectile *incidentParticle,
00094 const G4Nucleus &aNucleus );
00095
00096 G4DynamicParticle * AntiNeutronExchange(
00097 const G4HadProjectile *incidentParticle,
00098 const G4Nucleus &aNucleus );
00099
00100 G4DynamicParticle * LambdaExchange(
00101 const G4HadProjectile *incidentParticle,
00102 const G4Nucleus &aNucleus );
00103
00104 G4DynamicParticle * AntiLambdaExchange(
00105 const G4HadProjectile *incidentParticle,
00106 const G4Nucleus &aNucleus );
00107
00108 G4DynamicParticle * SigmaPlusExchange(
00109 const G4HadProjectile *incidentParticle,
00110 const G4Nucleus &aNucleus );
00111
00112 G4DynamicParticle * SigmaMinusExchange(
00113 const G4HadProjectile *incidentParticle,
00114 const G4Nucleus &aNucleus );
00115
00116 G4DynamicParticle * AntiSigmaPlusExchange(
00117 const G4HadProjectile *incidentParticle,
00118 const G4Nucleus &aNucleus );
00119
00120 G4DynamicParticle * AntiSigmaMinusExchange(
00121 const G4HadProjectile *incidentParticle,
00122 const G4Nucleus &aNucleus );
00123
00124 G4DynamicParticle * XiZeroExchange(
00125 const G4HadProjectile *incidentParticle,
00126 const G4Nucleus &aNucleus );
00127
00128 G4DynamicParticle * XiMinusExchange(
00129 const G4HadProjectile *incidentParticle,
00130 const G4Nucleus &aNucleus );
00131
00132 G4DynamicParticle * AntiXiZeroExchange(
00133 const G4HadProjectile *incidentParticle,
00134 const G4Nucleus &aNucleus );
00135
00136 G4DynamicParticle * AntiXiMinusExchange(
00137 const G4HadProjectile *incidentParticle,
00138 const G4Nucleus &aNucleus );
00139
00140 G4DynamicParticle * OmegaMinusExchange(
00141 const G4HadProjectile *incidentParticle,
00142 const G4Nucleus &aNucleus );
00143
00144 G4DynamicParticle * AntiOmegaMinusExchange(
00145 const G4HadProjectile *incidentParticle,
00146 const G4Nucleus &aNucleus );
00147
00148 private:
00149
00150 };
00151
00152 #endif
00153