00001 // @(#)root/eg:$Id: TVirtualMCDecayer.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Andreas Morsch 13/04/2002 00003 00004 /************************************************************************* 00005 * Copyright (C) 2006, Rene Brun and Fons Rademakers. * 00006 * Copyright (C) 1998-1999, ALICE Experiment at CERN. * 00007 * All rights reserved. * 00008 * * 00009 * For the licensing terms see $ROOTSYS/LICENSE. * 00010 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00011 *************************************************************************/ 00012 00013 #ifndef ROOT_TVirtualMCDecayer 00014 #define ROOT_TVirtualMCDecayer 00015 00016 // Abstract base class for particle decays. 00017 // Clients are the transport code and the primary particle generators 00018 00019 #include "TObject.h" 00020 class TClonesArray; 00021 class TLorentzVector; 00022 00023 class TVirtualMCDecayer : public TObject { 00024 public: 00025 // 00026 TVirtualMCDecayer() {;} 00027 virtual ~TVirtualMCDecayer(){;} 00028 virtual void Init() =0; 00029 virtual void Decay(Int_t idpart, TLorentzVector* p) =0; 00030 virtual Int_t ImportParticles(TClonesArray *particles) =0; 00031 virtual void SetForceDecay(Int_t type) =0; 00032 virtual void ForceDecay() =0; 00033 virtual Float_t GetPartialBranchingRatio(Int_t ipart) =0; 00034 virtual Float_t GetLifetime(Int_t kf) =0; 00035 virtual void ReadDecayTable() =0; 00036 ClassDef(TVirtualMCDecayer,1) // Particle Decayer Base Class 00037 }; 00038 00039 #endif