Savannah 96506
[u/mrichter/AliRoot.git] / TEvtGen / AliDecayerEvtGen.h
CommitLineData
da0e9ce3 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 //
7// from AliDecayer. //
8// //
9// Contact: Giuseppe.Bruno@ba.infn.it & Fiorella.Fionda@ba.infn.it //
10///////////////////////////////////////////////////////////////////////////
11
12
13#include "AliDecayer.h"
14
15class EvtGen;
16class EvtRandomEngine;
17class EvtStdHep;
18class TLorentzVector;
19class TClonesArray;
20
21class AliDecayerEvtGen : public AliDecayer
22{
23 public:
24 AliDecayerEvtGen();
25 AliDecayerEvtGen(const AliDecayerEvtGen &decayer);
26 virtual ~AliDecayerEvtGen();
27 virtual void Init();
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);
38
39 private:
40 void Copy(TObject &decayer) const;
41 AliDecayerEvtGen &operator=(const AliDecayerEvtGen &decayer)
42 {decayer.Copy(*this);return(*this);}
43
44 protected:
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
51
52 ClassDef(AliDecayerEvtGen,0) //AliDecayer implementation using EvtGen
53};
54
55//converts from mm/c to s
56const Double_t kconv=0.001/2.999792458e8;
57
58#endif
59
60