Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4QPartonPair.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 #ifndef G4QPartonPair_h
27 #define G4QPartonPair_h 1
28 //
29 // $Id$
30 //
31 // ------------------------------------------------------------
32 // GEANT 4 class implementation file
33 //
34 // ---------------- G4QParton ----------------
35 // by Mikhail Kossov, Oct 2006.
36 // class for PartonPair (hadron) used by Parton String Models
37 // ------------------------------------------------------------
38 // Short description: Each Quasmon String has a pair of partons
39 // (quark/diquark-partons) on its ends. During the hadronization
40 // procedure the rapidity gap between partons shrinks, but the
41 // parton pair still exists, while it is converted to the final
42 // meson (quaek-antiquark) or baryon (quark-diquark).
43 // --------------------------------------------------------------
44 //
45 #include "globals.hh"
46 #include "G4ThreeVector.hh"
47 #include "G4LorentzVector.hh"
48 #include "G4QParton.hh"
49 
51 {
52  public:
53  enum { DIFFRACTIVE = 1, SOFT = 2, HARD = 3};
54  enum { PROJECTILE = 1, TARGET = -1};
55  public:
56  G4QPartonPair(G4QParton* P1, G4QParton* P2, G4int Type=0, G4int Direction=0);
59  {
60  return (CollisionType == right.CollisionType &&
61  *Parton1 == *right.Parton1 && *Parton2 == *right.Parton2) ? 1: 0;
62  }
64  {
65  return (CollisionType == right.CollisionType &&
66  *Parton1 == *right.Parton1 && *Parton2 == *right.Parton2) ? 0: 1;
67  }
68  // Modifiers
69  void SetPartons(G4QParton* P1, G4QParton* P2) {Parton1=P1; Parton2=P2;}
70  void SetCollisionType(G4int Type) {CollisionType = Type;}
71  // Selectors
72  G4int GetCollisionType() {return CollisionType;}
73  G4QParton* GetParton1() {return Parton1;}
74  G4QParton* GetParton2() {return Parton2;}
75  G4int GetDirection() {return Direction;}
76 
77  private:
78  // Body
79  G4QParton* Parton1;
80  G4QParton* Parton2;
81  G4int CollisionType;
82  G4int Direction;
83 };
84 
85 #endif