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 ///////////////////////////////////////////////////////////////////////////
13 #include "AliDecayer.h"
16 class EvtRandomEngine;
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 EvtRandomEngine *fRandomEngine; //!pointer to EvtRandomEngine to generate random number
46 EvtGen *fGenerator; //!pointer to EvtGen class interface
47 EvtStdHep *fEvtstdhep; //!pointer to EvtGen common block
48 Char_t *fDecayTablePath; //!pointer to decay table path
49 Char_t *fParticleTablePath; //!pointer to particle table path
50 Decay_t fDecay; // Forced decay case
52 ClassDef(AliDecayerEvtGen,0) //AliDecayer implementation using EvtGen
55 //converts from mm/c to s
56 const Double_t kconv=0.001/2.999792458e8;