1 #ifndef ALIDECAYEREVTGEN_H
2 #define ALIDECAYEREVTGEN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5 ///////////////////////////////////////////////////////////////////////////
6 // Implementation of AliDecayer using EvtGen package. It inherits //
9 // Contact: Giuseppe.Bruno@ba.infn.it & Fiorella.Fionda@ba.infn.it //
10 ///////////////////////////////////////////////////////////////////////////
12 #include "AliDecayer.h"
15 class EvtStdlibRandomEngine;
21 class AliDecayerEvtGen : public AliDecayer
25 AliDecayerEvtGen(const AliDecayerEvtGen &decayer);
26 virtual ~AliDecayerEvtGen();
28 virtual void Decay(Int_t ipart, TLorentzVector *p);
29 virtual Int_t ImportParticles(TClonesArray *particles);
30 virtual void SetForceDecay(Decay_t decay) {fDecay=decay;}
31 virtual void SetForceDecay(Int_t decay){SetForceDecay((Decay_t) decay);}
32 virtual void ForceDecay();
33 virtual Float_t GetPartialBranchingRatio(Int_t ipart);
34 virtual Float_t GetLifetime(Int_t kf);
35 Char_t* GetDecayTablePath() {return fDecayTablePath;}
36 virtual void ReadDecayTable();
37 Bool_t SetDecayTablePath(Char_t *path);
40 void Copy(TObject &decayer) const;
41 AliDecayerEvtGen &operator=(const AliDecayerEvtGen &decayer)
42 {decayer.Copy(*this);return(*this);}
45 EvtStdlibRandomEngine *fRandomEngine; //!pointer to EvtRandomEngine to generate random number
46 EvtAbsRadCorr *fRadCorrEngine; //!pointer to EvtGenCorrEngine
47 EvtGen *fGenerator; //!pointer to EvtGen class interface
48 EvtStdHep *fEvtstdhep; //!pointer to EvtGen common block
49 Char_t *fDecayTablePath; //!pointer to decay table path
50 Char_t *fParticleTablePath; //!pointer to particle table path
51 Decay_t fDecay; // Forced decay case
53 ClassDef(AliDecayerEvtGen,0) //AliDecayer implementation using EvtGen
56 //converts from mm/c to s
57 const Double_t kconv=0.001/2.999792458e8;