b47ea772735b9f13036251180d35a58d771bb81f
[u/mrichter/AliRoot.git] / STEER / AliGenPythiaEventHeader.h
1 #ifndef ALIGENPYTHIAEVENTHEADER_H
2 #define ALIGENPYTHIAEVENTHEADER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "AliGenEventHeader.h"
10
11
12 class AliGenPythiaEventHeader : public AliGenEventHeader
13 {
14  public:
15     AliGenPythiaEventHeader();
16     AliGenPythiaEventHeader(const char* name);
17     virtual ~AliGenPythiaEventHeader() {}
18     // Getters
19     Int_t    ProcessType()  {return fProcessType;}
20     // Setters
21     void     SetProcessType(Int_t type)  {fProcessType = type;}
22     Int_t    Trials() {return fTrials;}
23     void     SetTrials(Int_t trials) {fTrials = trials;}
24     void     AddJet(Float_t px, Float_t py, Float_t pz, Float_t e);
25     void     AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e);
26     Int_t    NTriggerJets() {return fNJets;}
27     Int_t    NUQTriggerJets() {return fNUQJets;}
28     void     TriggerJet(Int_t i, Float_t p[4]);
29     void     UQJet(Int_t i, Float_t p[4]);
30     Double_t GetXJet() {return fXJet;}
31     Double_t GetYJet() {return fYJet;}
32     Double_t GetInMediumLength() {return fInMediumLength;}
33     void     SetXYJet(Double_t x, Double_t y);
34     void     SetInMediumLength(Double_t l) {fInMediumLength = l;}
35     void     SetZQuench(Double_t z[4]);
36     void     GetZQuench(Double_t z[4]);
37     void     SetPtHard(Float_t pthard) {fPtHard = pthard;}
38     Float_t  GetPtHard() {return fPtHard;}    
39         
40             
41 protected:
42     Int_t    fProcessType;               // PYTHIA process id for this event 
43     Int_t    fTrials;                    // Number of trials to fulfill trigger condition
44     Int_t    fNJets;                     // Number of triggered jets
45     Int_t    fNUQJets;                   // Number of unquenched
46     Double_t fXJet;                      // Jet production point (x)
47     Double_t fYJet;                      // Jet production point (y)
48     Double_t fInMediumLength;            // In medium length
49     Float_t  fJets[4][10];               // Trigger jets
50     Float_t  fUQJets[4][10];             // Unquenched trigger jets
51     Double_t fZquench[4];                // Quenching fraction
52     Float_t  fPtHard;                    // pT hard
53     ClassDef(AliGenPythiaEventHeader,5)  // Event header for Pythia event
54 };
55         
56         
57
58 #endif