Remove unused files and add ifdef at the beginning of .h file
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktail.h
CommitLineData
fe4da5cc 1#ifndef ALIGENCOCKTAIL_H
2#define ALIGENCOCKTAIL_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
fe4da5cc 8///////////////////////////////////////////////////////////
9// //
10// Class to generate the particles for the MC //
11// The base class is empty //
12// //
13///////////////////////////////////////////////////////////
14
15#include "TNamed.h"
16#include "TF1.h"
17#include "TArrayF.h"
18#include "TTree.h"
19#include "AliGenerator.h"
20#include <TClass.h>
21
22class AliGenCocktailEntry : public TObject
23{
24 protected:
25 AliGenerator *fGenerator;
26 Int_t fNGenerated;
27 Int_t fFirst;
28 Int_t fLast;
29 Float_t fRate;
30 Float_t fKineBias;
31 Float_t fBias;
32 TString fName;
33 public:
34 AliGenCocktailEntry()
35 {
36 fGenerator =0;
37 fNGenerated=0;
38 fFirst=-1;
39 fLast=-1;
40 fRate=0;
41 fKineBias=1;
42 fBias=1;
43 fName="unknown";
44 }
45
46 AliGenCocktailEntry
47 (AliGenerator* Generator, TString Name, Float_t RateExp)
48 {
49 fGenerator=Generator;
50 fNGenerated=0;
51 fFirst=-1;
52 fLast=-1;
53 fRate=RateExp;
54 fName=Name;
55//
56 fKineBias=1;
57 fBias=1;
58
59 }
60 ~AliGenCocktailEntry(){;}
61 AliGenerator* Generator() {return fGenerator;}
62 void SetGenerator(AliGenerator* generator){fGenerator=generator;}
63 void SetFirst(Int_t first){fFirst=first;}
64 void SetLast (Int_t last ){fLast =last;}
65 Int_t GetFirst(){return fFirst;}
66 Int_t GetLast (){return fLast;}
67 Float_t Rate(){return fRate;}
68 void PrintInfo();
69 private:
70 ClassDef(AliGenCocktailEntry,1)
71};
72
73
74class AliGenCocktail : public AliGenerator
75{
76 protected:
77 //
78 // Number of generators booked
79
80 Int_t fNGenerators;
81 //
82 // List of Generators
83 TList *fEntries;
84 // Iterators
85 TObjLink *flnk1;
86 TObjLink *flnk2;
87 public:
88 AliGenCocktail();
89 virtual ~AliGenCocktail();
90 virtual void Init();
91 virtual void Generate();
92 //
93 // Add a new generator to the list
94 virtual void AddGenerator
95 (AliGenerator *Generator, TString Name, Float_t RateExp );
96 virtual TList* Entries() {return fEntries;}
97 // Iterators
98 AliGenCocktailEntry* FirstGenerator();
99 AliGenCocktailEntry* NextGenerator();
100 void FirstGeneratorPair(AliGenCocktailEntry*&, AliGenCocktailEntry*&);
101 void NextGeneratorPair (AliGenCocktailEntry*&, AliGenCocktailEntry*&);
102 ClassDef(AliGenCocktail,1)
103//
104};
105
106#endif
107
108
109
110
111