]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/AliGenStarLight.h
TTherminator module
[u/mrichter/AliRoot.git] / STARLIGHT / AliGenStarLight.h
1 #ifndef ALIGENSTARLIGHT_H
2 #define ALIGENSTARLIGHT_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 // Interface to AliRoot of the STARlight generator.
9 // Author: Christoph.Mayer@cern.ch, Bjorn.Nilsen@cern.ch
10
11 //- Root Includes
12 #include <TString.h>
13 #include <TParticle.h>
14 #include "TStarLight.h"
15
16 //- AliRoot Includes
17 #include "AliGenMC.h"
18
19 class AliGenStarLight : public AliGenMC {
20 public:
21   AliGenStarLight();
22   AliGenStarLight(Int_t npart);
23   
24   virtual ~AliGenStarLight();
25
26   void ImportConfigurationFromFile(const char* filename);
27   void SetParameter(const char* line);
28   virtual void Init();
29   virtual void Generate();
30
31   void SetRapidityMotherRange(Double_t yMin, Double_t yMax) {
32     fRapidityMotherMin = yMin;
33     fRapidityMotherMax = yMax;
34   }
35   void SetEtaChildRange(Double_t etaMin, Double_t etaMax) {
36     fEtaChildMin = etaMin;
37     fEtaChildMax = etaMax;
38   }
39
40   TStarLight *GetTStarLight() {
41     return (TStarLight*)fSLgenerator;
42   }
43   Bool_t NoDaughters(const TParticle *p) const {
44     return (p->GetFirstDaughter()<0);
45   }
46   TStarLight* GetStarLightGenerator() const {
47     return fSLgenerator;
48   }
49
50  private:
51   AliGenStarLight(const AliGenStarLight &p);
52   AliGenStarLight& operator=(const AliGenStarLight &p);
53
54   Double_t    fRapidityMotherMin; // Max < Min: no cut
55   Double_t    fRapidityMotherMax;
56   Double_t    fEtaChildMin;       // Max < Min: no cut
57   Double_t    fEtaChildMax;
58   TStarLight *fSLgenerator;     //! Pointer to StarLight Generator.
59
60   ClassDef(AliGenStarLight,3); // STARlight parameterisation generator
61 } ;
62
63 #endif