few extra options for momentum dependence v_n
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliFlowEventSimpleMakerOnTheFly.h
CommitLineData
93ff27bd 1/*
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
3 * See cxx source for full Copyright notice
4 * $Id$
5 */
6
7/**********************************
8 * create an event and perform *
9 * flow analysis 'on the fly' *
10 * *
11 * authors: Raimond Snellings *
12 * (snelling@nikhef.nl) *
13 * Ante Bilandzic *
14 * (anteb@nikhef.nl) *
15 *********************************/
16
17#ifndef ALIFLOWEVENTSIMPLEMAKERONTHEFLY_H
18#define ALIFLOWEVENTSIMPLEMAKERONTHEFLY_H
19
20class TF1;
5b8dccde 21class TRandom3;
4d603348 22//class TUnuran;
93ff27bd 23
24#include "AliFlowEventSimple.h" //needed as include
25
26class AliFlowEventSimpleMakerOnTheFly {
27
28 public:
29
5b8dccde 30 AliFlowEventSimpleMakerOnTheFly(UInt_t); // constructor
93ff27bd 31 virtual ~AliFlowEventSimpleMakerOnTheFly(); // destructor
32
4d603348 33 virtual void Init();
34
93ff27bd 35 AliFlowEventSimple* CreateEventOnTheFly(); // create an event on the fly
36
37
38 // *****************************
39 // **** SETTERS AND GETTERS ****
40 // *****************************
41 //................................................................................................
42 // setters and getters for global parameters:
43 void SetMultiplicityOfRP(Int_t multRP) {this->fMultiplicityOfRP = multRP;}
44 Int_t GetMultiplicityOfRP() const {return this->fMultiplicityOfRP;}
93ff27bd 45
93ff27bd 46 void SetMultiplicitySpreadOfRP(Double_t multSpreadRP) {this->fMultiplicitySpreadOfRP = multSpreadRP;}
47 Double_t GetMultiplicitySpreadOfRP() const {return this->fMultiplicitySpreadOfRP;}
4d603348 48
49 void SetUseConstantHarmonics(Bool_t const uch) {this->fUseConstantHarmonics = uch;};
50 Bool_t GetUseConstantHarmonics() const {return this->fUseConstantHarmonics;};
51
52 // constant harmonics:
e8c7e66c 53 void SetV1RP(Double_t dV1RP) {this->fV1RP = dV1RP;}
54 Double_t GetV1RP() const {return this->fV1RP;}
55
56 void SetV1SpreadRP(Double_t dV1SpreadRP) {this->fV1SpreadRP = dV1SpreadRP;}
57 Double_t GetV1SpreadRP() const {return this->fV1SpreadRP;}
58
59 void SetV2RP(Double_t dV2RP) {this->fV2RP = dV2RP;}
60 Double_t GetV2RP() const {return this->fV2RP;}
61
62 void SetV2SpreadRP(Double_t dV2SpreadRP) {this->fV2SpreadRP = dV2SpreadRP;}
63 Double_t GetV2SpreadRP() const {return this->fV2SpreadRP;}
4d603348 64
65 void SetV4RP(Double_t dV4RP) {this->fV4RP = dV4RP;}
66 Double_t GetV4RP() const {return this->fV4RP;}
67
68 void SetV4SpreadRP(Double_t dV4SpreadRP) {this->fV4SpreadRP = dV4SpreadRP;}
69 Double_t GetV4SpreadRP() const {return this->fV4SpreadRP;}
70
71 // (pt,eta) dependent harmonics:
72 void SetV2RPMax(Double_t dV2RPMax) {this->fV2RPMax = dV2RPMax;}
73 Double_t GetV2RPMax() const {return this->fV2RPMax;}
74
75 void SetPtCutOff(Double_t dPtCutOff) {this->fPtCutOff = dPtCutOff;}
76 Double_t GetPtCutOff() const {return this->fPtCutOff;}
e8c7e66c 77 //................................................................................................
78
aaa62cf0 79 void SetNoOfLoops(Int_t noofl) {this->fNoOfLoops = noofl;}
80 Int_t GetNoOfLoops() const {return this->fNoOfLoops;}
81
93ff27bd 82 private:
83
84 AliFlowEventSimpleMakerOnTheFly(const AliFlowEventSimpleMakerOnTheFly& anAnalysis); // copy constructor
85 AliFlowEventSimpleMakerOnTheFly& operator=(const AliFlowEventSimpleMakerOnTheFly& anAnalysis); // assignment operator
86
87 //................................................................................................
88 // global parameters:
4d603348 89 Int_t fMultiplicityOfRP; // multiplicity of RPs
90 Double_t fMultiplicitySpreadOfRP; // multiplicity spread of RPs
91 Bool_t fUseConstantHarmonics; // harmonics V1, V2, V4... are constant (kTRUE) or functions of pt and eta (kFALSE)
92 // constant harmonics:
aaa62cf0 93 Double_t fV1RP; // directed flow of RPs
94 Double_t fV1SpreadRP; // directed flow spread of RPs
95 Double_t fV2RP; // elliptic flow of RPs
96 Double_t fV2SpreadRP; // elliptic flow spread of RPs
4d603348 97 Double_t fV4RP; // harmonic V4 of RPs
98 Double_t fV4SpreadRP; // harmonic V4's spread of RPs
99 // (pt,eta) dependent harmonics:
100 Double_t fV2RPMax; // elliptic flow of RPs
101 Double_t fPtCutOff; // elliptic flow spread of RPs
93ff27bd 102 //................................................................................................
103
104 //................................................................................................
105 // equations for distributions:
aaa62cf0 106 TF1* fPtSpectra; // transverse momentum distribution
107 TF1* fPhiDistribution; // azimuthal distribution
93ff27bd 108 //................................................................................................
109
4d603348 110 TRandom3* fMyTRandom3; // our TRandom3 generator
111 //TUnuran* fMyUnuran; // our TUnuran generator
112 Int_t fCount; // count number of events
113 Int_t fNoOfLoops; // number of times to use the same particle (nonflow)
5b8dccde 114
93ff27bd 115 ClassDef(AliFlowEventSimpleMakerOnTheFly,0) // macro for rootcint
116};
117
118#endif
119
120
121