herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
CheckId.h
1 // -*- C++ -*-
2 //
3 // CheckId.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 //
10 #ifndef HERWIG_CheckId_H
11 #define HERWIG_CheckId_H
12 //
13 // This is the declaration of the CheckId class.
14 
16 #include "ThePEG/PDT/ParticleData.h"
17 #include <ThePEG/PDT/EnumParticles.h>
18 #include "ThePEG/Repository/CurrentGenerator.h"
19 
20 namespace Herwig {
21 
22 using namespace ThePEG;
23 
42 namespace CheckId {
43 
49  long makeDiquarkID(long id1, long id2);
50 
57  PDPtr makeDiquark(tcPDPtr par1, tcPDPtr par2);
58 
63  bool canBeMeson(tcPDPtr par1,tcPDPtr par2);
64 
69  bool canBeBaryon(tcPDPtr par1, tcPDPtr par2 , tcPDPtr par3 = PDPtr());
70 
75  inline bool canBeHadron(tcPDPtr par1, tcPDPtr par2 , tcPDPtr par3 = PDPtr()) {
76  return (!par3 && canBeMeson(par1,par2)) || canBeBaryon(par1,par2,par3);
77  }
78 
79 
88  bool hasBottom(tcPDPtr par1, tcPDPtr par2 = PDPtr(), tcPDPtr par3 = PDPtr());
97  bool hasCharm(tcPDPtr par1, tcPDPtr par2 = PDPtr(), tcPDPtr par3 = PDPtr());
102  bool isExotic(tcPDPtr par1, tcPDPtr par2 = PDPtr(), tcPDPtr par3 = PDPtr());
103 
104 }
105 
106 }
107 
108 #endif /* HERWIG_CheckId_H */
bool hasBottom(tcPDPtr par1, tcPDPtr par2=PDPtr(), tcPDPtr par3=PDPtr())
Return true if any of the possible three input particles has b-flavour; false otherwise.
bool hasCharm(tcPDPtr par1, tcPDPtr par2=PDPtr(), tcPDPtr par3=PDPtr())
Return true if any of the possible three input particles has c-flavour; false otherwise.In the case that only the first pointer is specified, it can be: a (anti-)quark, a (anti-)diquark a (anti-)meson, a (anti-)baryon; in the other cases, each pointer is assumed to be either (anti-)quark or (anti-)diquark.
long makeDiquarkID(long id1, long id2)
Return the id of the diquark (anti-diquark) made by the two quarks (antiquarks) of id specified in in...
bool isExotic(tcPDPtr par1, tcPDPtr par2=PDPtr(), tcPDPtr par3=PDPtr())
Return true, if any of the possible input particle pointer is an exotic quark, e.g.
bool canBeBaryon(tcPDPtr par1, tcPDPtr par2, tcPDPtr par3=PDPtr())
Return true if the two or three particles in input can be the components of a baryon; false otherwise...
bool canBeHadron(tcPDPtr par1, tcPDPtr par2, tcPDPtr par3=PDPtr())
Return true if the two or three particles in input can be the components of a hadron; false otherwise...
Definition: CheckId.h:75
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
PDPtr makeDiquark(tcPDPtr par1, tcPDPtr par2)
Return the particle data of the diquark (anti-diquark) made by the two quarks (antiquarks) par1...
ThePEG::Ptr< ParticleData >::pointer PDPtr
-*- C++ -*-
bool canBeMeson(tcPDPtr par1, tcPDPtr par2)
Return true if the two particles in input can be the components of a meson; false otherwise...