Fix for event mixing, when it was selecting events out of range of multiplicity cut
[u/mrichter/AliRoot.git] / EVGEN / AliGenDeuteron.h
CommitLineData
539d3694 1#ifndef _ALIGENDEUTERON_H_\r
2#define _ALIGENDEUTERON_H_\r
3\r
e3b21c34 4/* Copyright(c) 2009-2010, ALICE Experiment at CERN, All rights reserved. *\r
5 * See cxx source for full Copyright notice */\r
6\r
539d3694 7// Afterburner to simulate coalescence of nucleons\r
e3b21c34 8// Author: Eulogio Serradilla <eulogio.serradilla@ciemat.es>\r
9// Arturo Menchaca <menchaca@fisica.unam.mx>\r
539d3694 10\r
11#include "AliGenerator.h"\r
12\r
13class AliGenDeuteron: public AliGenerator\r
14{\r
15\r
16 public:\r
17\r
18 AliGenDeuteron(Int_t sign=1, Double_t pmax=0.3, Double_t rmax=2.1, Double_t rsrc=1.5, Int_t model=1);\r
19 virtual ~AliGenDeuteron();\r
20\r
21 virtual void Init();\r
22 virtual void Generate();\r
23 \r
24 Double_t GetCoalescenceDistance() const { return fRmax*1.e+13; }\r
25 Double_t GetCoalescenceMomentum() const { return fPmax; }\r
26 Double_t GetSourceRadius() const { return fRsrc*1.e+13; }\r
27 Double_t GetSpinProbability() const { return fSpinProb; }\r
28 Int_t GetFreezeOutModel() const { return fModel; }\r
29 Int_t GetSign() const { return fSign;}\r
30 \r
31 void SetCoalescenceDistance(Double_t r=2.1) { fRmax = r*1.e-13; }\r
32 void SetCoalescenceMomentum(Double_t p=0.3) { fPmax = p; }\r
33 void SetSourceRadius(Double_t r=1.5) { fRsrc = r*1.e-13; }\r
34 void SetSpinProbability(Double_t s=0.75) { fSpinProb = s; }\r
35 void SetFreezeOutModel(Int_t model = kThermal) { fModel = model; }\r
36 void SetSign(Int_t sign) { fSign = sign > 0 ? 1 : -1;}\r
37 \r
38 public:\r
39 enum { kExpansion, kThermal };\r
40 \r
41 private:\r
42 \r
43 AliGenDeuteron(const AliGenDeuteron &other);\r
44 AliGenDeuteron& operator=(const AliGenDeuteron &other);\r
45 \r
e3b21c34 46 void FixProductionVertex(class TParticle* i);\r
539d3694 47 \r
48 private:\r
49 \r
50 const Double_t fDeuteronMass;\r
51 Double_t fPmax; // Maximum p-n momentum difference (GeV/c)\r
52 Double_t fRmax; // Maximum p-n distance (cm)\r
53 Double_t fRsrc; // Emitting source radius (cm)\r
54 Double_t fSpinProb; // cluster formation probability due to spin\r
55 Int_t fModel; // How to place the nucleons at freeze-out stage\r
56 Int_t fSign; // +1 for deuteron, -1 for antideuterons\r
57 \r
58 ClassDef(AliGenDeuteron,1)\r
59};\r
60\r
61#endif // _ALIGENDEUTERON_H_\r