Warning, file /include/Geant4/G4FTFAnnihilation.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 G4FTFAnnihilation_h
0029 #define G4FTFAnnihilation_h 1
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 #include "globals.hh"
0042 #include "G4FTFParameters.hh"
0043 #include "G4ThreeVector.hh"
0044
0045 class G4VSplitableHadron;
0046 class G4ExcitedString;
0047
0048
0049 class G4FTFAnnihilation {
0050 public:
0051 G4FTFAnnihilation();
0052 virtual ~G4FTFAnnihilation();
0053
0054 virtual G4bool Annihilate( G4VSplitableHadron* aPartner,
0055 G4VSplitableHadron* bPartner,
0056 G4VSplitableHadron*& AdditionalString,
0057 G4FTFParameters* theParameters ) const;
0058
0059 private:
0060 G4FTFAnnihilation( const G4FTFAnnihilation& right );
0061 const G4FTFAnnihilation& operator=( const G4FTFAnnihilation& right );
0062 G4bool operator==( const G4FTFAnnihilation& right ) const;
0063 G4bool operator!=( const G4FTFAnnihilation& right ) const;
0064
0065
0066 struct CommonVariables {
0067 G4int AQ[3], Q[3];
0068 G4bool RotateStrings = false;
0069 G4double S = 0.0, SqrtS = 0.0;
0070 G4LorentzVector Pprojectile, Ptarget;
0071 G4LorentzRotation toLab, RandomRotation;
0072 };
0073 G4bool Create3QuarkAntiQuarkStrings( G4VSplitableHadron* aPartner,
0074 G4VSplitableHadron* bPartner,
0075 G4VSplitableHadron*& AdditionalString,
0076 G4FTFParameters* theParameters,
0077 CommonVariables& common ) const;
0078 G4int Create1DiquarkAntiDiquarkString( G4VSplitableHadron* aPartner,
0079 G4VSplitableHadron* bPartner,
0080 CommonVariables& common ) const;
0081 G4int Create2QuarkAntiQuarkStrings( G4VSplitableHadron* aPartner,
0082 G4VSplitableHadron* bPartner,
0083 G4FTFParameters* theParameters,
0084 CommonVariables& common ) const;
0085 G4bool Create1QuarkAntiQuarkString( G4VSplitableHadron* aPartner,
0086 G4VSplitableHadron* bPartner,
0087 G4FTFParameters* theParameters,
0088 CommonVariables& common ) const;
0089
0090 G4ThreeVector GaussianPt( G4double AveragePt2, G4double maxPtSquare ) const;
0091 G4double ChooseX( G4double Alpha, G4double Beta ) const;
0092 void UnpackBaryon( G4int IdPDG, G4int& Q1, G4int& Q2, G4int& Q3 ) const;
0093 };
0094
0095 #endif
0096