CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/FastSimulation/ParticleDecay/src/Pythia6jets.cc

Go to the documentation of this file.
00001 #include "FastSimulation/ParticleDecay/interface/Pythia6jets.h"
00002 
00003 #define PYJETS pyjets_
00004 extern "C" void *getaddr(void *item)
00005 {
00006         return item;
00007 }
00008 
00009 extern 
00010 struct _Pyjets {
00011         int n;
00012         int npad;
00013         int k[5][4000];
00014         double p[5][4000];
00015         double v[5][4000];
00016 } PYJETS;
00017 
00018 struct Pythia6jets::_pythia6jets * Pythia6jets::__pythia6jets = 0;
00019 
00020 double Pythia6jets::dDummy = 0.0;
00021 int Pythia6jets::nDummy = 0;
00022 
00023 Pythia6jets::Pythia6jets(void)
00024 {
00025 }
00026 
00027 Pythia6jets::~Pythia6jets(void)
00028 {
00029 }
00030 
00031 void Pythia6jets::init(void)
00032 {
00033   __pythia6jets = 
00034     static_cast<struct Pythia6jets::_pythia6jets *>(getaddr(&PYJETS.n));
00035 }
00036 
00037 int &Pythia6jets::n(void)
00038 {
00039   if (__pythia6jets == 0) init();
00040   return __pythia6jets->n;
00041 }
00042 
00043 int &Pythia6jets::npad(void)
00044 {
00045   if (__pythia6jets == 0) init();
00046   return __pythia6jets->npad;
00047 }
00048 
00049 int &Pythia6jets::k(int i,int j)
00050 {
00051   if (__pythia6jets == 0) init();
00052   if ((i<1)||(i>_depth)||
00053       (j<1)||(j>_length))
00054     {
00055       nDummy = -999;
00056       return nDummy;
00057     }
00058   return __pythia6jets->k[j-1][i-1];
00059 }
00060 
00061 double &Pythia6jets::p(int i,int j)
00062 {
00063   if (__pythia6jets == 0) init();
00064   if ((i<1)||(i>_depth)||
00065       (j<1)||(j>_length))
00066     {
00067       dDummy = -999.0;
00068       return dDummy;
00069     }
00070   return __pythia6jets->p[j-1][i-1];
00071 }
00072 
00073 double &Pythia6jets::v(int i,int j)
00074 {
00075   if (__pythia6jets == 0) init();
00076   if ((i<1)||(i>_depth)||
00077       (j<1)||(j>_length))
00078     {
00079       dDummy = -999.0;
00080       return dDummy;
00081     }
00082   return __pythia6jets->v[j-1][i-1];
00083 }