00001 // @(#)root/pythia8:$Name$:$Id: TPythia8Decayer.h 24665 2008-07-04 12:47:59Z brun $ 00002 // Author: Andreas Morsch 04/07/2008 00003 00004 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * 00005 * See cxx source for full Copyright notice */ 00006 00007 #ifndef TPYTHIA8DECAYER_H 00008 #define TPYTHIA8DECAYER_H 00009 00010 #include <TVirtualMCDecayer.h> 00011 00012 class TClonesArrray; 00013 class TLorentzVector; 00014 class TPythia8; 00015 00016 class TPythia8Decayer : public TVirtualMCDecayer { 00017 public: 00018 TPythia8Decayer(); 00019 virtual ~TPythia8Decayer(){;} 00020 virtual void Init(); 00021 virtual void Decay(Int_t pdg, TLorentzVector* p); 00022 virtual Int_t ImportParticles(TClonesArray *particles); 00023 virtual void SetForceDecay(Int_t type); 00024 virtual void ForceDecay(); 00025 virtual Float_t GetPartialBranchingRatio(Int_t ipart); 00026 virtual Float_t GetLifetime(Int_t kf); 00027 virtual void ReadDecayTable(); 00028 00029 virtual void SetDebugLevel(Int_t debug) {fDebug = debug;} 00030 protected: 00031 void AppendParticle(Int_t pdg, TLorentzVector* p); 00032 void ClearEvent(); 00033 private: 00034 TPythia8* fPythia8; // Pointer to pythia8 00035 Int_t fDebug; // Debug level 00036 00037 ClassDef(TPythia8Decayer, 1) // Particle Decayer using Pythia8 00038 00039 }; 00040 #endif 00041 00042 00043 00044 00045 00046 00047