Line data Source code
1 : #ifndef ALIGENLIGHTNUCLEI_H
2 : #define ALIGENLIGHTNUCLEI_H
3 :
4 : /* Copyright(c) 2009-2015, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : // afterburner to generate light nuclei
8 : // Author: Eulogio Serradilla <eulogio.serradilla@cern.h>
9 :
10 : #include "AliGenCocktail.h"
11 :
12 : class TParticle;
13 : class AliStack;
14 : class TLorentzVector;
15 :
16 : class AliGenLightNuclei: public AliGenCocktail
17 : {
18 :
19 : public:
20 :
21 : AliGenLightNuclei();
22 : virtual ~AliGenLightNuclei();
23 :
24 : virtual void Generate();
25 :
26 0 : Double_t GetCoalescenceMomentum() const { return fP0; }
27 :
28 0 : void SetNucleusPdgCode(Int_t pdg) { fPdg = pdg; }
29 :
30 0 : void SetCoalescenceMomentum(Double_t p0) { fP0 = p0; }
31 0 : void SetSpinProbability(Double_t s) { fSpinProb = s; }
32 :
33 : enum {kDeuteron=1000010020, kTriton=1000010030, kHyperTriton=1010010030, kHe3Nucleus=1000020030, kAlpha=1000020040};
34 :
35 : enum {kCluster=77};
36 :
37 : private:
38 :
39 : AliGenLightNuclei(const AliGenLightNuclei &other);
40 : AliGenLightNuclei& operator=(const AliGenLightNuclei &other);
41 :
42 : Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2) const;
43 : Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2, const TLorentzVector& p3) const;
44 : Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2, const TLorentzVector& p3, const TLorentzVector& p4) const;
45 :
46 : Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2);
47 : Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2, const TList* l3);
48 : Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2, const TList* l3, const TList* l4);
49 :
50 : void PushNucleus(Int_t pdg, Double_t mass, TParticle* parent1, TParticle* parent2, TParticle* parent3=0, TParticle* parent4=0);
51 :
52 : private:
53 :
54 : Int_t fPdg; // nucleus PDG code
55 : Double_t fP0; // coalescence momentum
56 : Double_t fSpinProb; // probability of cluster formation due to nucleus spin
57 :
58 6 : ClassDef(AliGenLightNuclei, 4)
59 : };
60 :
61 : #endif // ALIGENLIGHTNUCLEI_H
|