Warning, file /include/Geant4/G4ConcreteNNTwoBodyResonance.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 #ifndef G4ConcreteNNTwoBodyResonance_HH
0029 #define G4ConcreteNNTwoBodyResonance_HH
0030
0031 #include "globals.hh"
0032 #include "G4VScatteringCollision.hh"
0033 #include "G4VCrossSectionSource.hh"
0034 #include "G4VAngularDistribution.hh"
0035 #include "G4KineticTrackVector.hh"
0036 #include <vector>
0037 #include "G4XDeltaDeltaTable.hh"
0038
0039 class G4ConcreteNNTwoBodyResonance : public G4VScatteringCollision
0040 {
0041
0042 public:
0043
0044 G4ConcreteNNTwoBodyResonance(const G4ParticleDefinition* aPrimary,
0045 const G4ParticleDefinition* bPriamry,
0046 const G4ParticleDefinition* aSecondary,
0047 const G4ParticleDefinition* bSecondary,
0048 const G4VXResonanceTable& sigmaTable);
0049 void establish_G4MT_TLS_G4ConcreteNNTwoBodyResonance(const G4ParticleDefinition* aPrimary,
0050 const G4ParticleDefinition* bPriamry,
0051 const G4ParticleDefinition* aSecondary,
0052 const G4ParticleDefinition* bSecondary,
0053 const G4VXResonanceTable& sigmaTable);
0054
0055 G4ConcreteNNTwoBodyResonance(void *s1, void *s2, void *s3, void *s4, void *s5, void *s6, void *s7);
0056
0057 virtual ~G4ConcreteNNTwoBodyResonance();
0058
0059 virtual G4bool IsInCharge(const G4KineticTrack& trk1,
0060 const G4KineticTrack& trk2) const;
0061
0062 virtual const std::vector<G4String>& GetListOfColliders(G4int ) const
0063 {
0064 throw G4HadronicException(__FILE__, __LINE__, "Tried to call G4ConcreteNNTwoBodyResonance::GetListOfColliders. Please find out why!");
0065 std::vector<G4String> * aList = new std::vector<G4String>;
0066 return *aList;
0067 }
0068
0069 virtual G4String GetName() const
0070 {
0071 return "G4ConcreteNNTwoBodyResonance";
0072 }
0073
0074 G4bool operator==(const G4ConcreteNNTwoBodyResonance &right) const;
0075 G4bool operator!=(const G4ConcreteNNTwoBodyResonance &right) const;
0076
0077
0078 protected:
0079
0080 virtual const G4VCrossSectionSource* GetCrossSectionSource() const { return crossSectionSource; }
0081
0082 virtual const std::vector<const G4ParticleDefinition*> & GetOutgoingParticles() const
0083 {
0084 return theOutGoing;
0085 }
0086
0087 private:
0088 G4ConcreteNNTwoBodyResonance(const G4ConcreteNNTwoBodyResonance &);
0089 G4ConcreteNNTwoBodyResonance & operator= (const G4ConcreteNNTwoBodyResonance &);
0090
0091 private:
0092
0093 G4VCrossSectionSource* crossSectionSource;
0094 const G4ParticleDefinition* thePrimary1;
0095 const G4ParticleDefinition* thePrimary2;
0096 std::vector<const G4ParticleDefinition*> theOutGoing;
0097
0098 };
0099
0100 #endif