CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/GeneratorInterface/ExternalDecays/interface/TauolaInterface.h

Go to the documentation of this file.
00001 #ifndef gen_ExternalDecays_TauolaInterface_h
00002 #define gen_ExternalDecays_TauolaInterface_h
00003 
00004 // #include "HepPDT/defs.h"
00005 // #include "HepPDT/TableBuilder.hh"
00006 #include "HepPDT/ParticleDataTable.hh"
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/Framework/interface/ESHandle.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 
00012 namespace HepMC 
00013 {
00014 class GenEvent;
00015 }
00016 
00017 namespace gen {
00018 
00019    //class Pythia6Service;
00020 
00021    class TauolaInterface
00022    {
00023       public:
00024       
00025       // ctor & dtor
00026       TauolaInterface( const edm::ParameterSet& );
00027       ~TauolaInterface();
00028       
00029       void enablePolarization()  { fPolarization = 1; return; }
00030       void disablePolarization() { fPolarization = 0; return; }
00031       void init( const edm::EventSetup& );
00032       const std::vector<int>& operatesOnParticles() { return fPDGs; }
00033       HepMC::GenEvent* decay( HepMC::GenEvent* );
00034       void statistics() ;
00035       
00036       private: 
00037       
00038       //            
00039       std::vector<int> fPDGs;
00040       int              fPolarization;
00041       
00042       edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ;
00043       Pythia6Service*                          fPy6Service;
00044       bool                                     fIsInitialized;
00045       //CLHEP::HepRandomEngine*                  fRandomEngine;
00046       //CLHEP::RandFlat*                         fRandomGenerator;
00047        
00048    };
00049 
00050 /* this is the code for new Tauola++ 
00051 
00052    class TauolaInterface
00053    {
00054       public:
00055       
00056       // ctor & dtor
00057       TauolaInterface( const edm::ParameterSet& );
00058       ~TauolaInterface();
00059       
00060       void enablePolarization()  { fPolarization = true; return; }
00061       void disablePolarization() { fPolarization = false; return; }
00062       void init( const edm::EventSetup& );
00063       const std::vector<int>& operatesOnParticles() { return fPDGs; }
00064       HepMC::GenEvent* decay( HepMC::GenEvent* );
00065       void statistics() ;
00066       
00067       private: 
00068       
00069       //            
00070       std::vector<int>                         fPDGs;
00071       bool                                     fPolarization;      
00072       edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ;
00073       bool                                     fIsInitialized;
00074        
00075    };
00076 
00077 */
00078 
00079 }
00080 
00081 #endif