G4PDGCodeChecker Class Reference

#include <G4PDGCodeChecker.hh>


Public Member Functions

 G4PDGCodeChecker ()
 ~G4PDGCodeChecker ()
G4int CheckPDGCode (G4int code, G4String type)
G4int GetQuarkContent (G4int flavor) const
G4int GetAntiQuarkContent (G4int flavor) const
G4bool IsAntiParticle () const
G4int GetQuarkFlavor (G4int idx) const
G4int GetSpin () const
G4int GetExotic () const
G4int GetRadial () const
G4int GetMultiplet () const
G4bool CheckCharge (G4double charge) const
G4int GetVerboseLevel () const
void SetVerboseLevel (G4int verbose)

Protected Types

 NumberOfQuarkFlavor = 8
enum  { NumberOfQuarkFlavor = 8 }


Detailed Description

Definition at line 44 of file G4PDGCodeChecker.hh.


Member Enumeration Documentation

anonymous enum [protected]

Enumerator:
NumberOfQuarkFlavor 

Definition at line 73 of file G4PDGCodeChecker.hh.

00073 {NumberOfQuarkFlavor = 8};


Constructor & Destructor Documentation

G4PDGCodeChecker::G4PDGCodeChecker (  ) 

Definition at line 45 of file G4PDGCodeChecker.cc.

References NumberOfQuarkFlavor.

00046   :code(0),theParticleType(""),
00047    higherSpin(0),
00048    exotic(0),radial(0),multiplet(0),
00049    quark1(0),quark2(0),quark3(0),spin(0)
00050 {
00051   verboseLevel = 1;
00052   // clear QuarkContents
00053   G4int flavor;
00054   for (flavor=0; flavor<NumberOfQuarkFlavor; flavor++){
00055     theQuarkContent[flavor] =0;
00056     theAntiQuarkContent[flavor] =0;
00057   }
00058 }

G4PDGCodeChecker::~G4PDGCodeChecker (  )  [inline]

Definition at line 49 of file G4PDGCodeChecker.hh.

00049 {};


Member Function Documentation

G4bool G4PDGCodeChecker::CheckCharge ( G4double  charge  )  const

Definition at line 353 of file G4PDGCodeChecker.cc.

References G4cout, G4endl, and NumberOfQuarkFlavor.

Referenced by G4ParticleDefinition::FillQuarkContents().

00354 {
00355   // check charge
00356   G4double totalCharge = 0.0;
00357   for (G4int flavor= 0; flavor<NumberOfQuarkFlavor-1; flavor+=2){
00358     totalCharge += (-1./3.)*eplus*theQuarkContent[flavor];
00359     totalCharge += 1./3.*eplus*theAntiQuarkContent[flavor];
00360     totalCharge += 2./3.*eplus*theQuarkContent[flavor+1];
00361     totalCharge += (-2./3.)*eplus*theAntiQuarkContent[flavor+1];
00362   }
00363 
00364   if (std::fabs(totalCharge-thePDGCharge)>0.1*eplus) { 
00365 #ifdef G4VERBOSE
00366     if (verboseLevel>0) {
00367       G4cout << " G4PDGCodeChecker::CheckCharge  : ";
00368       G4cout << " illegal electric charge " << thePDGCharge/eplus;
00369       G4cout << " PDG code=" << code <<G4endl;
00370     }
00371 #endif
00372     return false;
00373   }
00374   return true;
00375 }

G4int G4PDGCodeChecker::CheckPDGCode ( G4int  code,
G4String  type 
)

Definition at line 61 of file G4PDGCodeChecker.cc.

References NumberOfQuarkFlavor.

Referenced by G4ParticleDefinition::FillQuarkContents().

00063 {
00064   code = PDGcode;
00065   theParticleType = particleType;
00066 
00067   // clear QuarkContents
00068   G4int flavor;
00069   for (flavor=0; flavor<NumberOfQuarkFlavor; flavor++){
00070     theQuarkContent[flavor] =0;
00071     theAntiQuarkContent[flavor] =0;
00072   }
00073 
00074   // check code for nuclei
00075   if ((theParticleType == "nucleus")||(theParticleType == "anti_nucleus")) {
00076     return CheckForNuclei();
00077   }
00078 
00079   // get each digit number
00080   GetDigits(code);
00081 
00082   // check code
00083   if (theParticleType =="quarks") {
00084     return CheckForQuarks();
00085 
00086   } else if  (theParticleType =="diquarks") {
00087     return CheckForDiQuarks();
00088 
00089   } else if (theParticleType =="gluons") {
00090     // gluons 
00091     //   do not care about
00092     return code;
00093 
00094   } else if (theParticleType == "meson") {
00095     return CheckForMesons();
00096 
00097   } else if (theParticleType == "baryon"){
00098     return CheckForBaryons();
00099 
00100 
00101   }
00102   // No check
00103   return code;
00104 }

G4int G4PDGCodeChecker::GetAntiQuarkContent ( G4int  flavor  )  const [inline]

Definition at line 119 of file G4PDGCodeChecker.hh.

References NumberOfQuarkFlavor.

Referenced by G4ParticleDefinition::FillQuarkContents().

00120 {
00121   G4int value = 0;
00122   if ((flavor>=0)&&(flavor<NumberOfQuarkFlavor)) {
00123     value = theAntiQuarkContent[flavor];
00124   }
00125   return value;
00126 }

G4int G4PDGCodeChecker::GetExotic (  )  const [inline]

Definition at line 141 of file G4PDGCodeChecker.hh.

00142 {
00143   return exotic;
00144 }

G4int G4PDGCodeChecker::GetMultiplet (  )  const [inline]

Definition at line 153 of file G4PDGCodeChecker.hh.

00154 {
00155   return multiplet;
00156 }

G4int G4PDGCodeChecker::GetQuarkContent ( G4int  flavor  )  const [inline]

Definition at line 109 of file G4PDGCodeChecker.hh.

References NumberOfQuarkFlavor.

Referenced by G4ParticleDefinition::FillQuarkContents().

00110 {
00111   G4int value = 0;
00112   if ((flavor>=0)&&(flavor<NumberOfQuarkFlavor)) {
00113     value = theQuarkContent[flavor];
00114   }
00115   return value;
00116 }

G4int G4PDGCodeChecker::GetQuarkFlavor ( G4int  idx  )  const [inline]

Definition at line 130 of file G4PDGCodeChecker.hh.

00131 {
00132   G4int value;
00133   if (idx ==0) value = quark1;
00134   else if (idx ==1) value = quark2;
00135   else if (idx ==2) value = quark3;
00136   else value = -1;
00137   return value;
00138 }

G4int G4PDGCodeChecker::GetRadial (  )  const [inline]

Definition at line 147 of file G4PDGCodeChecker.hh.

00148 {
00149   return radial;
00150 }

G4int G4PDGCodeChecker::GetSpin (  )  const [inline]

Definition at line 159 of file G4PDGCodeChecker.hh.

Referenced by G4ParticleDefinition::FillQuarkContents().

00160 {
00161   return spin;
00162 }

G4int G4PDGCodeChecker::GetVerboseLevel (  )  const [inline]

Definition at line 177 of file G4PDGCodeChecker.hh.

00178 {
00179    return verboseLevel;
00180 }

G4bool G4PDGCodeChecker::IsAntiParticle (  )  const [inline]

Definition at line 165 of file G4PDGCodeChecker.hh.

00166 {
00167   return (code <0);
00168 }

void G4PDGCodeChecker::SetVerboseLevel ( G4int  verbose  )  [inline]

Definition at line 171 of file G4PDGCodeChecker.hh.

Referenced by G4ParticleDefinition::FillQuarkContents().

00172 {
00173    verboseLevel = value;
00174 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:52 2013 for Geant4 by  doxygen 1.4.7