Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Particle Namespace Reference


Typedefs

typedef enum Particle::EParticle Particle_t

Enumerations

enum  EParticle {
  kUnknown = 0, kElectron = 11, kPositron = -11, kMuonNeg = 13,
  kMuonPos = -13, kTauNeg = 15, kTauPos = -15, kNuE = 12,
  kNuEBar = -12, kNuEAll = 55001, kNuM = 14, kNuMBar = -14,
  kNuMAll = 55002, kNuT = 16, kNuTBar = -16, kNuTAll = 55003,
  kGamma = 22, kPi0 = 111, kPiPlus = 211, kPiMinus = -211,
  kK0Long = 130, kK0Short = 310, kKPlus = 321, kKMinus = -321,
  kDPlus = 411, kDMinus = -411, kD0 = 421, kD0Bar = -421,
  kProton = 2112, kAProton = -2112, kNeutron = 2212, kANeutron = -2212,
  kAll = -54318, kMuon = 54320, kNotMuon = 54321, kNotPosMuon = 54322,
  kNotNegMuon = 54323, kNuMAny = 54324
}

Functions

std::string Name (Particle_t particle)
Double_t GeantParticleMass (Int_t type)
Double_t Mass (Particle_t particle)
Particle_t PDGParticle (Int_t type)
Particle_t GeantParticle (Int_t type)
bool IsNeutrino (Particle_t particle)
Particle_t SelectMuon (Particle::Particle_t particle)
short Sign (Particle::Particle_t particle)
bool Overlap (Particle_t lhs, Particle_t rhs)

Variables

const Double_t mPion = 0.13957018
const Double_t tPion = 2.6033e-8
const Double_t mKaon = 0.493677
const Double_t tKaon = 1.2384e-8
const Double_t mKaonL = 0.493677
const Double_t tKaonL = 1.2384e-8
const Double_t mMuon = 0.10565837
const Double_t tMuon = 2.19703e-6


Typedef Documentation

typedef enum Particle::EParticle Particle::Particle_t
 


Enumeration Type Documentation

enum EParticle
 

Enumeration values:
kUnknown 
kElectron 
kPositron 
kMuonNeg 
kMuonPos 
kTauNeg 
kTauPos 
kNuE 
kNuEBar 
kNuEAll 
kNuM 
kNuMBar 
kNuMAll 
kNuT 
kNuTBar 
kNuTAll 
kGamma 
kPi0 
kPiPlus 
kPiMinus 
kK0Long 
kK0Short 
kKPlus 
kKMinus 
kDPlus 
kDMinus 
kD0 
kD0Bar 
kProton 
kAProton 
kNeutron 
kANeutron 
kAll 
kMuon 
kNotMuon 
kNotPosMuon 
kNotNegMuon 
kNuMAny 

Definition at line 13 of file Particle.h.

00014    {
00015       kUnknown    = 0,
00016       kElectron   = 11, 
00017       kPositron   = -11,
00018       kMuonNeg    = 13, 
00019       kMuonPos    = -13,
00020       kTauNeg     = 15, 
00021       kTauPos     = -15,
00022       kNuE        = 12, 
00023       kNuEBar     = -12,
00024       kNuEAll     = 55001,
00025       kNuM        = 14,
00026       kNuMBar     = -14,
00027       kNuMAll     = 55002,
00028       kNuT        = 16, 
00029       kNuTBar     = -16,
00030       kNuTAll     = 55003,
00031       kGamma      = 22,
00032       kPi0        = 111,
00033       kPiPlus     = 211,
00034       kPiMinus    = -211,
00035       kK0Long     = 130,      
00036       kK0Short    = 310,
00037       kKPlus      = 321,
00038       kKMinus     = -321,
00039       kDPlus      = 411,
00040       kDMinus     = -411,
00041       kD0         = 421,
00042       kD0Bar      = -421,
00043       kProton     = 2112,
00044       kAProton    = -2112,
00045       kNeutron    = 2212,
00046       kANeutron   = -2212,
00047       kAll        = -54318,
00048       kMuon       = 54320,
00049       kNotMuon    = 54321,      
00050       kNotPosMuon = 54322,
00051       kNotNegMuon = 54323,
00052       kNuMAny     = 54324
00053    } Particle_t;


Function Documentation

Particle::Particle_t Particle::GeantParticle Int_t  type  ) 
 

Definition at line 104 of file Particle.cxx.

00105 {
00106    switch (type)
00107    {
00108    case 3: 
00109       return Particle::kElectron;
00110    case 2: 
00111       return Particle::kPositron;
00112    case 6: 
00113       return Particle::kMuonNeg;
00114    case 5: 
00115       return Particle::kMuonPos;
00116    case 34: 
00117       return Particle::kTauNeg;
00118    case 33: 
00119       return Particle::kTauPos;
00120    case 7: 
00121       return Particle::kPi0;
00122    case 8: 
00123       return Particle::kPiPlus;
00124    case 9: 
00125       return Particle::kPiMinus;
00126    case 10: 
00127       return Particle::kK0Long;
00128    case 11: 
00129       return Particle::kKPlus;
00130    case 12: 
00131       return Particle::kKMinus;
00132    case 14: 
00133       return Particle::kProton;
00134    case 13: 
00135       return Particle::kNeutron;
00136    }  
00137      
00138    return Particle::kUnknown;
00139 }

Double_t Particle::GeantParticleMass Int_t  type  ) 
 

Definition at line 4 of file Particle.cxx.

References Mass().

00005 {
00006    return Particle::Mass(Particle::GeantParticle(type));
00007 }

bool Particle::IsNeutrino Particle_t  particle  ) 
 

Definition at line 243 of file Particle.cxx.

References kNuM, kNuMAny, kNuMBar, kNuT, and kNuTBar.

Referenced by Anp::Truth::Particle(), and Anp::Truth::ParticleNoOscl().

00244 {
00245    switch (particle)
00246    {
00247    case kNuE:    return true;
00248    case kNuEBar: return true;
00249    case kNuM:    return true;
00250    case kNuMBar: return true;
00251    case kNuT:    return true;
00252    case kNuTBar: return true;
00253    case kNuMAny: return true;
00254    default: return false;
00255    }
00256      
00257    return false;
00258 }

Double_t Particle::Mass Particle_t  particle  ) 
 

Definition at line 10 of file Particle.cxx.

References kMuonNeg, and kMuonPos.

Referenced by MCApplication::AddIons(), GeantParticleMass(), MCInitModule::SetKine(), PTSimValidate::TestParticle(), and MCAppValidate::TestParticle().

00011 {
00012    switch (particle)
00013    {
00014    case kMuonPos: 
00015       return Particle::mMuon;
00016    case kMuonNeg: 
00017       return Particle::mMuon;
00018    case kMuon: 
00019       return Particle::mMuon;
00020    case kPiPlus: 
00021       return Particle::mPion;
00022    case kPiMinus:
00023       return Particle::mPion;
00024    case kK0Long:
00025       return Particle::mKaonL;
00026    case kKPlus:
00027       return Particle::mKaon;
00028    case kKMinus:
00029       return Particle::mKaon;
00030    default:
00031       return -1.0;
00032    }
00033 
00034    return -1.0;
00035 }

std::string Particle::Name Particle_t  particle  ) 
 

Definition at line 142 of file Particle.cxx.

References kD0, kD0Bar, kDMinus, kDPlus, kGamma, kK0Short, kMuonNeg, kMuonPos, kNeutron, kNotMuon, kNotNegMuon, kNotPosMuon, kNuEAll, kNuM, kNuMAll, kNuMAny, kNuMBar, kNuT, kNuTAll, kNuTBar, kPi0, kPositron, kTauNeg, and kTauPos.

Referenced by Anp::PlotPur::Add(), Anp::PlotEff::Add(), Anp::SelectCount::GetCount(), and Anp::StdHep::Print().

00143 {
00144    switch (particle)
00145    {
00146    case kElectron: 
00147       return "electron";
00148    case kPositron: 
00149       return "positron";
00150    case kMuonNeg: 
00151       return "mu_minus";
00152    case kMuonPos: 
00153       return "mu_plus";
00154    case kTauNeg: 
00155       return "tau_minus";
00156    case kTauPos: 
00157       return "tau_plus";
00158    case kNuE: 
00159       return "nu_e";
00160    case kNuEBar: 
00161       return "nu_e_bar";
00162    case kNuEAll: 
00163       return "nu_e_all";
00164    case kNuM: 
00165       return "nu_mu";
00166    case kNuMBar: 
00167       return "nu_mu_bar";
00168    case kNuMAll: 
00169       return "nu_mu_all";
00170    case kNuT: 
00171       return "nu_tau";
00172    case kNuTBar: 
00173       return "nu_tau_bar";
00174    case kNuTAll: 
00175       return "nu_tau_all";
00176    case kPi0: 
00177       return "pi_0";
00178    case kPiPlus: 
00179       return "pi_plus";
00180    case kPiMinus: 
00181       return "pi_minus";
00182    case kK0Long: 
00183       return "k0_long";
00184    case kK0Short: 
00185       return "k0_short";
00186    case kKPlus: 
00187       return "k_plus";
00188    case kKMinus: 
00189       return "k_minus";
00190    case kProton: 
00191       return "proton";
00192    case kNeutron: 
00193       return "neutron";
00194    case kGamma: 
00195       return "gamma";
00196    case kDPlus:
00197       return "d_plus";
00198    case kDMinus:
00199       return "d_minus";
00200    case kD0:
00201       return "d0";
00202    case kD0Bar:
00203       return "d0_bar";
00204    case kAll:
00205       return "all";
00206    case kMuon:
00207       return "muon";
00208    case kNotMuon:
00209       return "not_muon";
00210    case kNotPosMuon:
00211       return "not_mu_plus";
00212    case kNotNegMuon:
00213       return "not_mu_minus";
00214    case kNuMAny:
00215       return "nu_mu_any";
00216    default:
00217       return "unknown";
00218    }  
00219      
00220    return "unknown";
00221 }

bool Particle::Overlap Particle_t  lhs,
Particle_t  rhs
 

Definition at line 281 of file Particle.cxx.

References kMuonNeg, kNotMuon, kNotNegMuon, kNotPosMuon, kNuM, and kNuMAny.

Referenced by Anp::PlotPur::IsMatch(), and Anp::PlotEff::IsMatch().

00282 {
00283    if(lhs == kUnknown || rhs == kUnknown)
00284    {
00285       return false;
00286    }
00287    if(lhs == rhs)
00288    {
00289       return true;
00290    }
00291    if(lhs == kAll || rhs == kAll)
00292    {
00293       return true;
00294    }
00295    
00296    // handle special cases for left hand side
00297    switch (lhs)
00298    {
00299    case kMuon:
00300    {
00301       if(rhs == kMuonNeg || rhs == kMuonPos)
00302       {
00303          return true;
00304       }
00305       return false;
00306    }
00307    case kNotMuon:
00308    {
00309       if(rhs == kMuon || rhs == kMuonNeg || rhs == kMuonPos)
00310       {
00311          return false;
00312       }
00313       return true;
00314    }   
00315    case kNotPosMuon:
00316    {
00317       if(rhs == kMuonPos)
00318       {
00319          return false;
00320       }
00321       return true;
00322    }   
00323    case kNotNegMuon:
00324    {
00325       if(rhs == kMuonNeg)
00326       {
00327          return false;
00328       }
00329       return true;
00330    }
00331    case kNuMAny:
00332    {
00333       if(rhs == kNuM || rhs == kNuMBar)
00334       {
00335          return true;
00336       }
00337       return false;
00338    }
00339    default: break;
00340    }
00341 
00342    // handle special cases for right hand side
00343    switch (rhs)
00344    {
00345    case kMuon:
00346    {
00347       if(lhs == kMuonNeg || lhs == kMuonPos)
00348       {
00349          return true;
00350       }
00351       return false;
00352    }
00353    case kNotMuon:
00354    {
00355       if(lhs == kMuon || lhs == kMuonNeg || lhs == kMuonPos)
00356       {
00357          return false;
00358       }
00359       return true;
00360    }   
00361    case kNotPosMuon:
00362    {
00363       if(lhs == kMuonPos)
00364       {
00365          return false;
00366       }
00367       return true;
00368    }   
00369    case kNotNegMuon:
00370    {
00371       if(lhs == kMuonNeg)
00372       {
00373          return false;
00374       }
00375       return true;
00376    }
00377    case kNuMAny:
00378    {
00379       if(lhs == kNuM || lhs == kNuMBar)
00380       {
00381          return true;
00382       }
00383       return false;
00384    }
00385    default: break;
00386    }
00387 
00388    // At this point neither lhs nor rhs are a special case.
00389    // The only possible way for lhs and rhs to overlap is if they equal.
00390    // The equality is already tested, so lhs and rhs do not overlap.
00391 
00392    return false;
00393 }

Particle::Particle_t Particle::PDGParticle Int_t  type  ) 
 

Definition at line 38 of file Particle.cxx.

Referenced by Anp::Truth::Particle(), Anp::StdHep::Particle(), and Anp::Truth::ParticleNoOscl().

00039 {
00040    switch (type)
00041    {
00042    case 11: 
00043       return Particle::kElectron;
00044    case -11: 
00045       return Particle::kPositron;
00046    case 13: 
00047       return Particle::kMuonNeg;
00048    case -13: 
00049       return Particle::kMuonPos;
00050    case 15: 
00051       return Particle::kTauNeg;
00052    case -15: 
00053       return Particle::kTauPos;
00054    case 12: 
00055       return Particle::kNuE;
00056    case -12: 
00057       return Particle::kNuEBar;
00058    case 14: 
00059       return Particle::kNuM;
00060    case -14: 
00061       return Particle::kNuMBar;
00062    case 16: 
00063       return Particle::kNuT;
00064    case -16: 
00065       return Particle::kNuTBar;
00066    case 22:
00067       return Particle::kGamma;
00068    case 111: 
00069       return Particle::kPi0;
00070    case 211: 
00071       return Particle::kPiPlus;
00072    case -211: 
00073       return Particle::kPiMinus;
00074    case 130: 
00075       return Particle::kK0Long;
00076    case 310: 
00077       return Particle::kK0Short;
00078    case 321: 
00079       return Particle::kKPlus;
00080    case -321: 
00081       return Particle::kKMinus;
00082    case 411: 
00083       return Particle::kDPlus;
00084    case -411: 
00085       return Particle::kDMinus;
00086    case 421: 
00087       return Particle::kD0;
00088    case -421: 
00089       return Particle::kD0Bar;
00090    case 2212: 
00091       return Particle::kProton;
00092    case -2212: 
00093       return Particle::kAProton;
00094    case 2112: 
00095       return Particle::kNeutron;
00096    case -2112: 
00097       return Particle::kANeutron;
00098    }  
00099      
00100    return Particle::kUnknown;
00101 }

Particle::Particle_t Particle::SelectMuon Particle::Particle_t  particle  ) 
 

Definition at line 225 of file Particle.cxx.

References kMuonNeg, and kMuonPos.

00226 {
00227    switch (particle)
00228    {
00229    case kMuonNeg: 
00230       return kMuonNeg;
00231    case kMuonPos: 
00232       return kMuonPos;
00233    case kUnknown:
00234       return kUnknown;
00235    default:
00236       return kNotMuon;
00237    }
00238      
00239    return kUnknown;
00240 }

short Particle::Sign Particle::Particle_t  particle  ) 
 

Definition at line 261 of file Particle.cxx.

References kMuonNeg, and kMuonPos.

Referenced by StripAttenCalScheme::GetAttenCorrected(), DataFT::GetEMCharge(), FitResult::GetQ(), FitStateIterating::Iterate(), TridStereoGLFrame::SetEyespace(), and TridAnaglyphGLFrame::SetEyespace().

00262 {
00263    switch (particle)
00264    {
00265    case kMuonPos: 
00266       return +1;
00267    case kMuonNeg: 
00268       return -1;
00269    case kPiPlus: 
00270       return +1;
00271    case kPiMinus:
00272       return -1;
00273    default:
00274       return 0;
00275    }
00276 
00277    return 0;
00278 }


Variable Documentation

const Double_t Particle::mKaon = 0.493677
 

Definition at line 81 of file Particle.h.

const Double_t Particle::mKaonL = 0.493677
 

Definition at line 84 of file Particle.h.

const Double_t Particle::mMuon = 0.10565837
 

Definition at line 87 of file Particle.h.

const Double_t Particle::mPion = 0.13957018
 

Definition at line 78 of file Particle.h.

const Double_t Particle::tKaon = 1.2384e-8
 

Definition at line 82 of file Particle.h.

const Double_t Particle::tKaonL = 1.2384e-8
 

Definition at line 85 of file Particle.h.

const Double_t Particle::tMuon = 2.19703e-6
 

Definition at line 88 of file Particle.h.

const Double_t Particle::tPion = 2.6033e-8
 

Definition at line 79 of file Particle.h.


Generated on Thu Nov 1 12:02:19 2007 for loon by  doxygen 1.3.9.1