1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
19 //_________________________________________________________________________
20 // Output object for jetfinder
22 //*-- Author: Renan Cabrera (LBL)
23 // Mark Horner (LBL/UCT)
28 #include <TParticle.h>
31 //.....................
32 #include "AliEMCALJet.h"
33 #include "AliEMCALParton.h"
34 #include "AliEMCALJetFinderOutput.h"
35 #include "AliEMCALJetFinderInput.h"
37 ClassImp(AliEMCALJetFinderOutput)
39 //________________________________________________________________________
40 AliEMCALJetFinderOutput::AliEMCALJetFinderOutput(){
50 if (fDebug>0) Info("AliEMCALJetFinderOutput","Beginning Constructor");
52 } //________________________________________________________________________
53 void AliEMCALJetFinderOutput::InitArrays()
56 if (fDebug>1) Info("AliEMCALJetFinderOutput","Beginning InitArrays");
60 //_______________________________________________________________________
61 AliEMCALJetFinderOutput::~AliEMCALJetFinderOutput()
63 if (fDebug>0) Info("~AliEMCALJetFinderOutput","Beginning Destructor");
66 //_______________________________________________________________________
67 void AliEMCALJetFinderOutput::Reset(AliEMCALJetFinderResetType_t resettype)
69 if (fDebug>1) Info("Reset","Beginning Reset");
70 if (!fInitialised) InitArrays();
71 if ( resettype == kResetAll ||
72 resettype == kResetJets||
73 resettype == kResetData ){
76 if ( resettype == kResetAll ||
77 resettype == kResetPartons||
78 resettype == kResetData ){
81 if ( resettype == kResetAll ||
82 resettype == kResetParticles||
83 resettype == kResetData ){
87 //________________________________________________________________________
88 void AliEMCALJetFinderOutput::AddJet(AliEMCALJet* jet)
90 if (fDebug>1) Info("AddJet","Beginning AddJet");
91 if (!fInitialised) InitArrays();
94 if (fNJets < fNMaxJets){
95 new( &fJetsArray[fNJets]) AliEMCALJet( *jet );
99 Error("AddJet","Cannot AddJet - maximum exceeded");
105 //_______________________________________________________________________
106 void AliEMCALJetFinderOutput::AddParton(AliEMCALParton* parton)
108 if (fDebug>1) Info("AddParton","Beginning AddParton");
109 if (!fInitialised) InitArrays();
111 if (fNPartons < fNMaxPartons){
112 new( &fPartonsArray[fNPartons] ) AliEMCALParton( *parton );
116 Error("AddParton","Cannot AddParton - maximum exceeded");
121 //_______________________________________________________________________
122 void AliEMCALJetFinderOutput::AddParticle(TParticle* particle)
124 if (fDebug>1) Info("AddParticle","Beginning AddParticle");
125 if (!fInitialised) InitArrays();
127 if (fNParticles < fNMaxParticles){
128 new( &fParticlesArray[fNParticles] ) TParticle( *particle );
132 Error("AddParticle","Cannot AddParticle - maximum exceeded");
136 //______________________________________________________________________
137 AliEMCALJet* AliEMCALJetFinderOutput::GetJet(Int_t jetID)
139 if (fDebug>1) Info("GetJet","Beginning GetJet");
141 if (jetID >= fNJets) return 0;
142 return &(fJetsArray[jetID]);
146 //______________________________________________________________________
147 AliEMCALParton* AliEMCALJetFinderOutput::GetParton(Int_t partonID)
149 if (fDebug>1) Info("GetParton","Beginning GetParton");
151 if (partonID >= fNPartons) return 0;
152 return &(fPartonsArray[partonID]);
155 //______________________________________________________________________
156 TParticle* AliEMCALJetFinderOutput::GetParticle(Int_t particleID)
158 if (fDebug>1) Info("GetParticle","Beginning GetParticle");
160 if (particleID >= fNParticles) return 0;
161 return &(fParticlesArray[particleID]);