]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALJetFinderOutput.cxx
Public data members moved to private area, added setter/getters if needed. (I. Hrivna...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinderOutput.cxx
index 44587418c752b186e1bd9656dba8ff4523e0256a..4b213c35fbf3859c13b410761bcfa07d80248f61 100755 (executable)
 
 //_________________________________________________________________________
 //  Output object for jetfinder
-//
+// --
 //*-- Author:  Renan Cabrera (LBL)
 //             Mark Horner (LBL/UCT)
-//
+// --
 
 
 #include <stdio.h>
@@ -38,61 +38,85 @@ ClassImp(AliEMCALJetFinderOutput)
 
 //________________________________________________________________________
 AliEMCALJetFinderOutput::AliEMCALJetFinderOutput(){ 
+       // Default constructor
+       
        fNMaxJets=10;
        fNMaxParticles=2000;
        fNMaxPartons=4;
        fInitialised=kFALSE;
+       fDebug=0;
        fNPartons=0;
        fNJets=0;    
        fNParticles=0;
-                                                               
+
+       fJetsArray=0;
+       fParticlesArray=0;
+       fPartonsArray=0;
 
 if (fDebug>0) Info("AliEMCALJetFinderOutput","Beginning Constructor");
 
 } //________________________________________________________________________
 void AliEMCALJetFinderOutput::InitArrays()
 {
-       
+       // Initialise arrays - legacy from TClones days
 if (fDebug>1) Info("AliEMCALJetFinderOutput","Beginning InitArrays");
-
+ fParticlesArray=new TClonesArray("TParticle",fNMaxParticles);
+ fPartonsArray=new TClonesArray("AliEMCALParton",fNMaxPartons);
+ fJetsArray=new TClonesArray("AliEMCALJet",fNMaxJets);
+ //fJetsArray->BypassStreamer(kFALSE);
+ fInitialised=1;
 }
 
 //_______________________________________________________________________
 AliEMCALJetFinderOutput::~AliEMCALJetFinderOutput()
 {
+       // Default destrucotr
 if (fDebug>0) Info("~AliEMCALJetFinderOutput","Beginning Destructor");
+ delete fParticlesArray;
+ delete fPartonsArray;
+ delete fJetsArray;
 }
 
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::Reset(AliEMCALJetFinderResetType_t resettype)
 {
+// Reset stored data
+       
 if (fDebug>1) Info("Reset","Beginning Reset");
 if (!fInitialised) InitArrays();
  if (  resettype == kResetAll ||
        resettype == kResetJets||
        resettype == kResetData ){
         fNJets = 0;
+        if (fJetsArray)
+          fJetsArray->Clear();
  }
  if (   resettype == kResetAll ||
         resettype == kResetPartons||              
         resettype == kResetData ){
         fNPartons = 0;
+        if (fPartonsArray)
+          fPartonsArray->Clear();
  }
  if (   resettype == kResetAll ||    
         resettype == kResetParticles||              
         resettype == kResetData ){
         fNParticles = 0;
+        if (fParticlesArray)
+          fParticlesArray->Clear();
  }
 }
 //________________________________________________________________________
 void AliEMCALJetFinderOutput::AddJet(AliEMCALJet* jet)
 {
+// Add a jet to the array
+       
 if (fDebug>1) Info("AddJet","Beginning AddJet");
 if (!fInitialised) InitArrays();
 
 
        if (fNJets < fNMaxJets){
-               new( &fJetsArray[fNJets])   AliEMCALJet( *jet );
+               new(fJetsArray->AddrAt(fNJets))   AliEMCALJet( *jet );
                fNJets++;
        }else
        {
@@ -105,11 +129,13 @@ if (!fInitialised) InitArrays();
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::AddParton(AliEMCALParton* parton)
 {
+//Add a parton to the array
+       
 if (fDebug>1) Info("AddParton","Beginning AddParton");
 if (!fInitialised) InitArrays();
 
        if (fNPartons < fNMaxPartons){
-               new( &fPartonsArray[fNPartons] )  AliEMCALParton( *parton );
+               new(fPartonsArray->AddrAt(fNPartons))  AliEMCALParton( *parton );
                fNPartons++;
        }else
        {
@@ -121,11 +147,13 @@ if (!fInitialised) InitArrays();
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::AddParticle(TParticle* particle)
 {
+//Add a particle tot he array
+       
 if (fDebug>1) Info("AddParticle","Beginning AddParticle");
 if (!fInitialised) InitArrays();
 
        if (fNParticles < fNMaxParticles){
-               new( &fParticlesArray[fNParticles] )  TParticle( *particle );
+               new(fParticlesArray->AddrAt(fNParticles))  TParticle( *particle );
                fNParticles++;
        }else
        {
@@ -136,29 +164,33 @@ if (!fInitialised) InitArrays();
 //______________________________________________________________________
 AliEMCALJet* AliEMCALJetFinderOutput::GetJet(Int_t jetID)
 {
+       // return a jet
 if (fDebug>1) Info("GetJet","Beginning GetJet");
        
   if (jetID >= fNJets) return 0;
-  return &(fJetsArray[jetID]);
+  return (AliEMCALJet*)fJetsArray->At(jetID);
   
 }
 
 //______________________________________________________________________
 AliEMCALParton* AliEMCALJetFinderOutput::GetParton(Int_t partonID)
 {
+       //return a parton
 if (fDebug>1) Info("GetParton","Beginning GetParton");
 
   if (partonID >= fNPartons) return 0;
-  return &(fPartonsArray[partonID]);
+  return (AliEMCALParton*) fPartonsArray->At(partonID);
 }
 
 //______________________________________________________________________
 TParticle* AliEMCALJetFinderOutput::GetParticle(Int_t particleID)
 {
+//return a particle
+       
 if (fDebug>1) Info("GetParticle","Beginning GetParticle");
 
   if (particleID >= fNParticles) return 0;
-return &(fParticlesArray[particleID]);
+  return (TParticle*) fParticlesArray->At(particleID);
 
 }