File indexing completed on 2025-07-02 08:35:57
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 G4PartonPair_h
0027 #define G4PartonPair_h 1
0028
0029 #include "globals.hh"
0030 #include "G4ThreeVector.hh"
0031 #include "G4LorentzVector.hh"
0032 #include "G4Parton.hh"
0033 #include "G4PartonVector.hh"
0034
0035 class G4PartonPair
0036 {
0037 public:
0038 enum {
0039 DIFFRACTIVE = 1,
0040 SOFT = 2,
0041 HARD = 3
0042 };
0043 enum {
0044 PROJECTILE = 1,
0045 TARGET = -1
0046 };
0047 public:
0048 G4PartonPair(G4Parton* P1, G4Parton* P2, G4int Type, G4int Direction);
0049 ~G4PartonPair();
0050
0051 private:
0052 G4PartonPair(const G4PartonPair &right);
0053 G4bool operator==(const G4PartonPair &right) const;
0054 G4bool operator!=(const G4PartonPair &right) const;
0055
0056 public:
0057 void SetPartons(G4Parton* P1, G4Parton* P2);
0058 void SetCollisionType(G4int Type);
0059 G4int GetCollisionType();
0060 G4Parton* GetParton1(void);
0061 G4Parton* GetParton2(void);
0062 G4int GetDirection();
0063
0064 private:
0065 G4Parton* Parton1;
0066 G4Parton* Parton2;
0067 G4int CollisionType;
0068 G4int Direction;
0069 };
0070
0071 inline G4Parton* G4PartonPair::GetParton1(void)
0072 {
0073 return Parton1;
0074 }
0075
0076 inline G4Parton* G4PartonPair::GetParton2(void)
0077 {
0078 return Parton2;
0079 }
0080
0081 inline void G4PartonPair::SetCollisionType(G4int Type)
0082 {
0083 CollisionType = Type;
0084 }
0085
0086 inline G4int G4PartonPair::GetCollisionType()
0087 {
0088 return CollisionType;
0089 }
0090
0091 inline G4int G4PartonPair::GetDirection()
0092 {
0093 return Direction;
0094 }
0095
0096 #endif
0097