]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EVGEN/AliGenCocktailAfterBurner.h
change default reco params to kLowMult, change kLowMult clustering threshold to 0...
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailAfterBurner.h
... / ...
CommitLineData
1#ifndef AliGenCocktailAfterBurner_H
2#define AliGenCocktailAfterBurner_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// Container class for AliGenerator through recursion.
9// (Container is itself an AliGenerator)
10// Author: piotr.skowronski@cern.ch
11//
12
13#include <TMCProcess.h>
14
15#include "AliGenCocktail.h"
16#include "AliRun.h"
17
18class AliGenCocktailEntry;
19class AliStack;
20class AliCollisionGeometry;
21class AliGenCocktailEventHeader;
22
23
24class AliGenCocktailAfterBurner : public AliGenCocktail
25{
26//container class for other generators
27//extends AliGenCocktail functionality
28//with possiblity of adding after-burners
29
30 public:
31 AliGenCocktailAfterBurner();
32 virtual ~AliGenCocktailAfterBurner();
33
34 virtual void Init();
35 virtual void Generate();
36 virtual void SetTracks(Int_t stackno);
37 //
38 // Add a new generator to the list
39 virtual void AddAfterBurner
40 (AliGenerator *Generator, char* Name, Float_t RateExp );
41
42 AliStack* GetStack(Int_t n) const;
43 AliStack* GetActiveStack() const{return fActiveStack;}
44
45 AliCollisionGeometry* GetCollisionGeometry(Int_t n) const;
46
47 AliGenerator* GetCurrentGenerator() const;
48 virtual void SetActiveEventNumber(Int_t actev);
49 Int_t GetActiveEventNumber() const {return fActiveEvent;}
50 virtual Int_t GetNumberOfEvents() const {return AliRunLoader::Instance()->GetNumberOfEventsPerRun() + fNBgEvents;}
51 void SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;}
52
53 static TMCProcess IntToMCProcess(Int_t no);
54
55 protected:
56 Int_t fNAfterBurners; // Number of afterburners
57 TList *fAfterBurnerEntries;// List of afterburners
58 Bool_t fGenerationDone; // flag if generation is already done
59 // during first call of Generate method
60 // if true just return event to gAlice
61 //
62 TObjArray *fInternalStacks; //! List of internal stacks
63
64 AliCollisionGeometry** fCollisionGeometries; //! List of Collision Geometries
65 AliGenCocktailEventHeader** fHeaders; //! List of Headers
66
67 Int_t fCurrentEvent; // Number of current event/stack
68
69
70 AliStack* fActiveStack; //! pointer to the current stack
71 Int_t fActiveEvent; //HBT Processor needs more then one event to do correlations
72 //Due to complications in fortran, it first calls C routine
73 //that sets the active event to be read. All alihbtp_gettrack
74 //are addressed to this event
75
76 AliGenerator *fCurrentGenerator; // Current event generator
77 Int_t fNBgEvents; //Nuber of backgrouns events
78 //(events that are generated only temporarly)
79 //needed by some afterburners that works better with higher statistics
80 //this generates such a artificial one
81 private:
82 AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in);
83 AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
84
85 ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER
86 //background events added
87};
88
89inline AliGenerator*
90 AliGenCocktailAfterBurner::GetCurrentGenerator() const
91{
92 return fCurrentGenerator;
93}
94
95
96#endif
97
98
99
100
101