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 #ifndef G4XRESONANCE_HH
00028 #define G4XRESONANCE_HH
00029
00030 #include "globals.hh"
00031 #include "G4PhysicsVector.hh"
00032 #include "G4VCrossSectionSource.hh"
00033 #include "G4ParticleDefinition.hh"
00034 #include "G4VXResonanceTable.hh"
00035 #include "G4VXResonance.hh"
00036
00037 class G4KineticTrack;
00038
00039 class G4XResonance : public G4VXResonance
00040
00041 {
00042
00043 public:
00044
00045 G4XResonance(const G4ParticleDefinition* in1,
00046 const G4ParticleDefinition* in2,
00047 G4int iIsospinOut1, G4double iSpinOut1, G4double massOut1,
00048 G4int iIsospinOut2, G4double iSpinOut2, G4double massOut2,
00049 G4String subType1, G4String subType2,
00050 const G4VXResonanceTable& sigmaTable);
00051
00052 virtual ~G4XResonance();
00053
00054 G4bool operator==(const G4XResonance &right) const;
00055 G4bool operator!=(const G4XResonance &right) const;
00056
00057 virtual G4double CrossSection(const G4KineticTrack& trk1, const G4KineticTrack& trk2) const;
00058
00059 virtual const G4CrossSectionVector* GetComponents() const { return 0; }
00060
00061 virtual G4String Name() const;
00062
00063
00064 protected:
00065
00066
00067 private:
00068
00069 G4XResonance(const G4XResonance &right);
00070 G4XResonance& operator=(const G4XResonance &right);
00071
00072 G4int isoOut1;
00073 G4double iSpinOut1;
00074 G4double mOut1;
00075
00076 G4int isoOut2;
00077 G4double iSpinOut2;
00078 G4double mOut2;
00079
00080
00081 G4PhysicsVector* table;
00082
00083 G4String name;
00084
00085 };
00086
00087 #endif
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105