ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

#include "AliGenPythiaEventHeader.h"
ClassImp(AliGenPythiaEventHeader)


AliGenPythiaEventHeader::AliGenPythiaEventHeader():
    fProcessType(0),
    fTrials(0),
    fNJets(0),
    fNUQJets(0), 
    fXJet(-1.),
    fYJet(-1.),
    fInMediumLength(0.),
    fImpactParameter(-1),
    fPtHard(0.),
    fXsection(0)
{
// Default Constructor
    for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
    for (Int_t i = 0; i < 4; i++)
      for (Int_t j = 0; j < 10; j++) {
	fJets[i][j] = 0.;
	fUQJets[i][j] = 0.;
      }
}

AliGenPythiaEventHeader::AliGenPythiaEventHeader(const char* name):
    AliGenEventHeader(name),
    fProcessType(0),
    fTrials(0),
    fNJets(0),
    fNUQJets(0), 
    fXJet(-1.),
    fYJet(-1.),
    fInMediumLength(0.),
    fImpactParameter(-1),
    fPtHard(0.),
    fXsection(0) 
{
// Constructor
    for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
    for (Int_t i = 0; i < 4; i++)
      for (Int_t j = 0; j < 10; j++) {
	fJets[i][j] = 0.;
	fUQJets[i][j] = 0.;
      }
}

void AliGenPythiaEventHeader::AddJet(Float_t px, Float_t py, Float_t pz, Float_t e)
{
//
//  Add a jet 
//
    if (fNJets < 10) {
	fJets[0][fNJets] = px;
	fJets[1][fNJets] = py;
	fJets[2][fNJets] = pz;
	fJets[3][fNJets] = e;
	fNJets++;
    } else {
	printf("\nWarning: More than 10 jets triggered !!\n");
    }
}

void AliGenPythiaEventHeader::AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e)
{
//
//  Add a jet 
//
    if (fNUQJets < 10) {
	fUQJets[0][fNUQJets] = px;
	fUQJets[1][fNUQJets] = py;
	fUQJets[2][fNUQJets] = pz;
	fUQJets[3][fNUQJets] = e;
	fNUQJets++;
    } else {
	printf("\nWarning: More than 10 jets triggered !!\n");
    }
}

void AliGenPythiaEventHeader::SetZQuench(Double_t z[4])
{
    //
    // Set quenching fraction
    //
    for (Int_t i = 0; i < 4; i++) fZquench[i] = z[i];
}

void AliGenPythiaEventHeader::GetZQuench(Double_t z[4]) const
{
    //
    // Get quenching fraction
    //
    for (Int_t i = 0; i < 4; i++) z[i] = fZquench[i];
}

void AliGenPythiaEventHeader::TriggerJet(Int_t i, Float_t p[4])
{
//
// Give back jet #i
//
    if (i >= fNJets) {
	printf("\nWarning: TriggerJet, index out of Range!!\n");
    } else {
	p[0] = fJets[0][i];
	p[1] = fJets[1][i];
	p[2] = fJets[2][i];
	p[3] = fJets[3][i];
    }
}

void AliGenPythiaEventHeader::UQJet(Int_t i, Float_t p[4])
{
//
// Give back jet #i
//
    if (i >= fNUQJets) {
	printf("\nWarning: Unquenched Jets, index out of Range!!\n");
    } else {
	p[0] = fUQJets[0][i];
	p[1] = fUQJets[1][i];
	p[2] = fUQJets[2][i];
	p[3] = fUQJets[3][i];
    }
}

void AliGenPythiaEventHeader::SetXYJet(Double_t x, Double_t y)
{

//
//  Add jet production point
//
    fXJet = x; 
    fYJet = y; 
}
 AliGenPythiaEventHeader.cxx:1
 AliGenPythiaEventHeader.cxx:2
 AliGenPythiaEventHeader.cxx:3
 AliGenPythiaEventHeader.cxx:4
 AliGenPythiaEventHeader.cxx:5
 AliGenPythiaEventHeader.cxx:6
 AliGenPythiaEventHeader.cxx:7
 AliGenPythiaEventHeader.cxx:8
 AliGenPythiaEventHeader.cxx:9
 AliGenPythiaEventHeader.cxx:10
 AliGenPythiaEventHeader.cxx:11
 AliGenPythiaEventHeader.cxx:12
 AliGenPythiaEventHeader.cxx:13
 AliGenPythiaEventHeader.cxx:14
 AliGenPythiaEventHeader.cxx:15
 AliGenPythiaEventHeader.cxx:16
 AliGenPythiaEventHeader.cxx:17
 AliGenPythiaEventHeader.cxx:18
 AliGenPythiaEventHeader.cxx:19
 AliGenPythiaEventHeader.cxx:20
 AliGenPythiaEventHeader.cxx:21
 AliGenPythiaEventHeader.cxx:22
 AliGenPythiaEventHeader.cxx:23
 AliGenPythiaEventHeader.cxx:24
 AliGenPythiaEventHeader.cxx:25
 AliGenPythiaEventHeader.cxx:26
 AliGenPythiaEventHeader.cxx:27
 AliGenPythiaEventHeader.cxx:28
 AliGenPythiaEventHeader.cxx:29
 AliGenPythiaEventHeader.cxx:30
 AliGenPythiaEventHeader.cxx:31
 AliGenPythiaEventHeader.cxx:32
 AliGenPythiaEventHeader.cxx:33
 AliGenPythiaEventHeader.cxx:34
 AliGenPythiaEventHeader.cxx:35
 AliGenPythiaEventHeader.cxx:36
 AliGenPythiaEventHeader.cxx:37
 AliGenPythiaEventHeader.cxx:38
 AliGenPythiaEventHeader.cxx:39
 AliGenPythiaEventHeader.cxx:40
 AliGenPythiaEventHeader.cxx:41
 AliGenPythiaEventHeader.cxx:42
 AliGenPythiaEventHeader.cxx:43
 AliGenPythiaEventHeader.cxx:44
 AliGenPythiaEventHeader.cxx:45
 AliGenPythiaEventHeader.cxx:46
 AliGenPythiaEventHeader.cxx:47
 AliGenPythiaEventHeader.cxx:48
 AliGenPythiaEventHeader.cxx:49
 AliGenPythiaEventHeader.cxx:50
 AliGenPythiaEventHeader.cxx:51
 AliGenPythiaEventHeader.cxx:52
 AliGenPythiaEventHeader.cxx:53
 AliGenPythiaEventHeader.cxx:54
 AliGenPythiaEventHeader.cxx:55
 AliGenPythiaEventHeader.cxx:56
 AliGenPythiaEventHeader.cxx:57
 AliGenPythiaEventHeader.cxx:58
 AliGenPythiaEventHeader.cxx:59
 AliGenPythiaEventHeader.cxx:60
 AliGenPythiaEventHeader.cxx:61
 AliGenPythiaEventHeader.cxx:62
 AliGenPythiaEventHeader.cxx:63
 AliGenPythiaEventHeader.cxx:64
 AliGenPythiaEventHeader.cxx:65
 AliGenPythiaEventHeader.cxx:66
 AliGenPythiaEventHeader.cxx:67
 AliGenPythiaEventHeader.cxx:68
 AliGenPythiaEventHeader.cxx:69
 AliGenPythiaEventHeader.cxx:70
 AliGenPythiaEventHeader.cxx:71
 AliGenPythiaEventHeader.cxx:72
 AliGenPythiaEventHeader.cxx:73
 AliGenPythiaEventHeader.cxx:74
 AliGenPythiaEventHeader.cxx:75
 AliGenPythiaEventHeader.cxx:76
 AliGenPythiaEventHeader.cxx:77
 AliGenPythiaEventHeader.cxx:78
 AliGenPythiaEventHeader.cxx:79
 AliGenPythiaEventHeader.cxx:80
 AliGenPythiaEventHeader.cxx:81
 AliGenPythiaEventHeader.cxx:82
 AliGenPythiaEventHeader.cxx:83
 AliGenPythiaEventHeader.cxx:84
 AliGenPythiaEventHeader.cxx:85
 AliGenPythiaEventHeader.cxx:86
 AliGenPythiaEventHeader.cxx:87
 AliGenPythiaEventHeader.cxx:88
 AliGenPythiaEventHeader.cxx:89
 AliGenPythiaEventHeader.cxx:90
 AliGenPythiaEventHeader.cxx:91
 AliGenPythiaEventHeader.cxx:92
 AliGenPythiaEventHeader.cxx:93
 AliGenPythiaEventHeader.cxx:94
 AliGenPythiaEventHeader.cxx:95
 AliGenPythiaEventHeader.cxx:96
 AliGenPythiaEventHeader.cxx:97
 AliGenPythiaEventHeader.cxx:98
 AliGenPythiaEventHeader.cxx:99
 AliGenPythiaEventHeader.cxx:100
 AliGenPythiaEventHeader.cxx:101
 AliGenPythiaEventHeader.cxx:102
 AliGenPythiaEventHeader.cxx:103
 AliGenPythiaEventHeader.cxx:104
 AliGenPythiaEventHeader.cxx:105
 AliGenPythiaEventHeader.cxx:106
 AliGenPythiaEventHeader.cxx:107
 AliGenPythiaEventHeader.cxx:108
 AliGenPythiaEventHeader.cxx:109
 AliGenPythiaEventHeader.cxx:110
 AliGenPythiaEventHeader.cxx:111
 AliGenPythiaEventHeader.cxx:112
 AliGenPythiaEventHeader.cxx:113
 AliGenPythiaEventHeader.cxx:114
 AliGenPythiaEventHeader.cxx:115
 AliGenPythiaEventHeader.cxx:116
 AliGenPythiaEventHeader.cxx:117
 AliGenPythiaEventHeader.cxx:118
 AliGenPythiaEventHeader.cxx:119
 AliGenPythiaEventHeader.cxx:120
 AliGenPythiaEventHeader.cxx:121
 AliGenPythiaEventHeader.cxx:122
 AliGenPythiaEventHeader.cxx:123
 AliGenPythiaEventHeader.cxx:124
 AliGenPythiaEventHeader.cxx:125
 AliGenPythiaEventHeader.cxx:126
 AliGenPythiaEventHeader.cxx:127
 AliGenPythiaEventHeader.cxx:128
 AliGenPythiaEventHeader.cxx:129
 AliGenPythiaEventHeader.cxx:130
 AliGenPythiaEventHeader.cxx:131
 AliGenPythiaEventHeader.cxx:132
 AliGenPythiaEventHeader.cxx:133
 AliGenPythiaEventHeader.cxx:134
 AliGenPythiaEventHeader.cxx:135
 AliGenPythiaEventHeader.cxx:136
 AliGenPythiaEventHeader.cxx:137
 AliGenPythiaEventHeader.cxx:138
 AliGenPythiaEventHeader.cxx:139
 AliGenPythiaEventHeader.cxx:140
 AliGenPythiaEventHeader.cxx:141
 AliGenPythiaEventHeader.cxx:142
 AliGenPythiaEventHeader.cxx:143
 AliGenPythiaEventHeader.cxx:144
 AliGenPythiaEventHeader.cxx:145
 AliGenPythiaEventHeader.cxx:146
 AliGenPythiaEventHeader.cxx:147
 AliGenPythiaEventHeader.cxx:148
 AliGenPythiaEventHeader.cxx:149
 AliGenPythiaEventHeader.cxx:150
 AliGenPythiaEventHeader.cxx:151