Converting PWG/TRD to native cmake
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailEntry.h
1 #ifndef ALIGENCOCKTAILENTRY_H
2 #define ALIGENCOCKTAILENTRY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 // Entry for AleGenCocktail container class. 
9 // See also comments there
10 // Author: andreas.morsch@cern.ch
11
12 #include <TNamed.h>
13
14 class AliGenerator;
15 class TFormula;
16
17 class AliGenCocktailEntry : public TNamed
18 {
19  public:
20     AliGenCocktailEntry();
21     AliGenCocktailEntry(const AliGenCocktailEntry &entry);
22     AliGenCocktailEntry
23       (AliGenerator* pGenerator, const char* Name, Float_t RateExp);
24     ~AliGenCocktailEntry(){;}
25     AliGenerator* Generator() {return fGenerator;}
26     void SetGenerator(AliGenerator* generator){fGenerator=generator;}
27     void SetFormula(TFormula* formula) {fFormula = formula;}
28     void SetNTimes(Int_t ntimes) {fNTimes = ntimes;}
29     void SetFirst(Int_t first) {fFirst=first;}
30     void SetLast (Int_t last ) {fLast =last;}
31     Int_t GetFirst() const {return fFirst;}
32     Int_t GetLast () const {return fLast;}
33     Float_t Rate()   const {return fRate;}
34     Int_t NTimes()   const {return fNTimes;}
35     Int_t   Bin()    const {return Int_t(fRate);}
36     void  PrintInfo() const;
37     TFormula* Formula() const {return fFormula;}
38     AliGenCocktailEntry & operator =(const AliGenCocktailEntry & rhs);
39  protected:
40     AliGenerator *fGenerator;   // Pointer to generator
41     Int_t fNGenerated;          // Number of primaries generated
42     Int_t fFirst;               // First index in list of primaries
43     Int_t fLast;                // Last index in list of primaries
44     Float_t fRate;              // Rate per event
45     Int_t   fNTimes;            // Generate is called N times
46     Float_t fKineBias;          // Bias due to kinematic selecion
47     Float_t fBias;              // Bias
48     TFormula* fFormula;         // Formula to calculate number of signals per event    
49     void Copy(TObject&) const;
50  private:
51     ClassDef(AliGenCocktailEntry, 3) // Generator entry of AliGenCocktail
52 };
53 #endif
54
55
56
57
58