]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New geometry
authormhorner <mhorner@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Feb 2004 18:42:15 +0000 (18:42 +0000)
committermhorner <mhorner@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Feb 2004 18:42:15 +0000 (18:42 +0000)
EMCAL/AliEMCALJetFinderInput.cxx
EMCAL/AliEMCALJetFinderInput.h

index 90d774387959fa1f559fc7c4748e82b21433ad85..51d1dd7d403acac139b4f83c8a4772683271c913 100755 (executable)
 
 #include "AliEMCALJetFinderInput.h"
 #include "AliEMCALDigit.h"
+#include "AliEMCALGeometry.h"
 #include "AliEMCALParton.h"
 class TClonesArray;
 
 
 ClassImp(AliEMCALJetFinderInput)
 
-AliEMCALJetFinderInput::AliEMCALJetFinderInput()
+AliEMCALJetFinderInput::AliEMCALJetFinderInput(): 
+fDigitsArray(0),
+fTracksArray(0),
+fParticlesArray(0),
+fPartonsArray(0)
 {
 // Default constructor
 // Defines all TClonesArrays  
@@ -57,17 +62,23 @@ fNParticles     = 0;
 void AliEMCALJetFinderInput::InitArrays()
 {
 if (fDebug>0) Info("AliEMCALJetFinderInput","Beginning InitArrays");
-fNDigits = 96*144;     // This is the number of digits
+fNDigits = 19152;     // This is the number of digits
 fNMaxDigits = fNDigits;
 fNMaxTracks = 3000;
 fNMaxParticles = 2000;
 fNMaxPartons = 4;
-for (Int_t i = 0; i < 96*144; i++)
+
+fDigitsArray  = new TClonesArray ("AliEMCALDigit",fNDigits);     // This is the digits array for the EMCAL
+fTracksArray  = new TClonesArray("TParticle",fNMaxTracks);
+fPartonsArray = new TClonesArray("AliEMCALParton",fNMaxPartons);
+fParticlesArray       = new TClonesArray ("TParticle",fNMaxParticles);
+
+for (Int_t i = 0; i < 19152; i++)
 {
        AliEMCALDigit tempdigit(0,0,i+1,0,1.0,-1);
        tempdigit.SetAmp(0);
 //      AliEMCALDigit(0,0,i+1,0,1.0,-1)
-       new(&fDigitsArray[i]) AliEMCALDigit(tempdigit); // Default digit amplitude is zero
+       new((*fDigitsArray)[i]) AliEMCALDigit(tempdigit);       // Default digit amplitude is zero
 }
 fNTracks       = 0;
 fNPartons      = 0;
@@ -81,6 +92,18 @@ AliEMCALJetFinderInput::~AliEMCALJetFinderInput()
 // Destructor -
 
 if (fDebug>0) Info("~AliEMCALJetFinderInput","Beginning Destructor");  
+if (fInitialised)
+ {
+       fDigitsArray->Delete();
+       fTracksArray->Delete();
+       fPartonsArray->Delete();
+       fParticlesArray->Delete();
+       delete fDigitsArray;
+       delete fTracksArray;
+       delete fPartonsArray;
+       delete fParticlesArray;
+}
+               
 }
 
 void AliEMCALJetFinderInput::Reset(AliEMCALJetFinderResetType_t resettype)
@@ -94,12 +117,19 @@ if (fDebug>1) Info("Reset","Beginning Reset");
   if (         resettype == kResetData   ||    
        resettype == kResetDigits ||
        resettype == kResetAll   ){
-         for (Int_t i = 0; i < 96*144; i++)
-                 {
+               if (fInitialised)
+               {       
+                       fDigitsArray->Delete();                 
+                       fTracksArray->Delete();
+                       fPartonsArray->Delete();
+                       fParticlesArray->Delete();
+               }
+               for (Int_t i = 0; i < 19152; i++)
+               {
                        AliEMCALDigit tempdigit(0,0,i+1,0,1.0,-1);
                        tempdigit.SetAmp(0);
-                       new(&fDigitsArray[i]) AliEMCALDigit(tempdigit); // Default digit amplitude is zero
-                 }
+                       new((*fDigitsArray)[i]) AliEMCALDigit(tempdigit);       // Default digit amplitude is zero
+               }
   }
   if (  resettype == kResetData   ||    
         resettype == kResetTracks ||
@@ -127,7 +157,7 @@ if (fDebug>15) Info("AddEnergyToDigit","Beginning AddEnergyToDigit");
  if (!fInitialised) InitArrays();      
 
  Int_t amp = 0;
- AliEMCALDigit *mydigit = &fDigitsArray[digitID];
+ AliEMCALDigit *mydigit = (AliEMCALDigit*)(*fDigitsArray)[digitID];
  amp = mydigit->GetAmp();
  mydigit->SetAmp(amp+denergy);
 }      
@@ -140,7 +170,7 @@ if (fDebug>5) Info("AddTrack","Beginning AddTrack");
  
        if (!fInitialised) InitArrays();        
        if (fNTracks < fNMaxTracks){  
-               new(&fTracksArray[fNTracks]) TParticle(track);
+               new((*fTracksArray)[fNTracks]) TParticle(track);
                fNTracks++;
                if (fDebug>5) Info("AddTracks","Added Tracks %i",fNTracks);     
        }else
@@ -157,7 +187,7 @@ if (fDebug>5) Info("AddParton","Beginning AddParton");
 
        if (!fInitialised) InitArrays();        
        if (fNPartons < fNMaxPartons){  
-               new(&fPartonsArray[fNPartons]) AliEMCALParton(*parton);
+               new((*fPartonsArray)[fNPartons]) AliEMCALParton(*parton);
                fNPartons++;
                if (fDebug>5) Info("AddParton","Added Parton %i",fNPartons);    
        }else
@@ -174,7 +204,7 @@ if (fDebug>5) Info("AddParticle","Beginning AddParticle");
 
        if (!fInitialised) InitArrays();        
        if (fNParticles < fNMaxParticles){  
-               new(&fParticlesArray[fNParticles]) TParticle(*particle);
+               new((*fParticlesArray)[fNParticles]) TParticle(*particle);
                fNParticles++;
                if (fDebug>5) Info("AddParticle","Added Particle %i",fNParticles);      
        }else
@@ -192,7 +222,7 @@ AliEMCALDigit* AliEMCALJetFinderInput::GetDigit(Int_t digitID)
 if (fDebug>15) Info("GetDigit","Beginning GetDigit");
 
     if (digitID >= fNDigits) return 0;
-    return (AliEMCALDigit*)(&fDigitsArray[digitID]);
+    return (AliEMCALDigit*)((*fDigitsArray)[digitID]);
 }
 
 TParticle* AliEMCALJetFinderInput::GetTrack(Int_t trackID)
@@ -202,7 +232,7 @@ TParticle* AliEMCALJetFinderInput::GetTrack(Int_t trackID)
 if (fDebug>15) Info("GetTrack","Beginning GetTrack with trackID %i",trackID);
 
     if (trackID >= fNTracks) return 0;
-    return (TParticle*)(&fTracksArray[trackID]);
+    return (TParticle*)((*fTracksArray)[trackID]);
 }
 
 AliEMCALParton* AliEMCALJetFinderInput::GetParton(Int_t partonID)
@@ -212,7 +242,7 @@ AliEMCALParton* AliEMCALJetFinderInput::GetParton(Int_t partonID)
 if (fDebug>15) Info("GetParton","Beginning GetParton");
 
     if (partonID >= fNPartons) return 0;
-    return (AliEMCALParton*)(&fPartonsArray[partonID]);
+    return (AliEMCALParton*)((*fPartonsArray)[partonID]);
 }
 
 TParticle* AliEMCALJetFinderInput::GetParticle(Int_t particleID)
@@ -222,7 +252,7 @@ TParticle* AliEMCALJetFinderInput::GetParticle(Int_t particleID)
 if (fDebug>15) Info("GetParticle","Beginning GetParticle");
 
     if (particleID >= fNParticles) return 0;
-    return (TParticle*)(&fParticlesArray[particleID]);
+    return (TParticle*)((*fParticlesArray)[particleID]);
 }
 
 
index f22f57efeacbbe9a139a5795a525a9fecf869e8a..562f24bdd746b9b04bd22b3122241899bae9c8e2 100755 (executable)
@@ -16,6 +16,7 @@
 
 #include "TObject.h"
 #include "TParticle.h"
+#include "TClonesArray.h"
 #include "AliEMCALParton.h"
 #include "AliEMCALDigit.h"
 #include "AliEMCALJetFinderTypes.h"
@@ -42,21 +43,21 @@ class AliEMCALJetFinderInput : public TObject
 
        private:
                void InitArrays();
-               AliEMCALDigit   fDigitsArray[13824];    // This is the digits array for the EMCAL
+               TClonesArray*   fDigitsArray;   //-> This is the digits array for the EMCAL
                Int_t           fNDigits;       // This is the number of digits
                Int_t           fNMaxDigits;    // This is the max number of digits
-               TParticle       fTracksArray[3000];     // This is the track array 
+               TClonesArray*   fTracksArray;   //-> This is the track array 
                Int_t           fNTracks;       // This stores the number of tracks     
                Int_t           fNMaxTracks;    // This stores the maximum number of tracks
-               AliEMCALParton  fPartonsArray[4];  //  This is the partons array
+               TClonesArray*   fPartonsArray;  //->  This is the partons array
                Int_t           fNPartons;      // This stores the number of partons
-               Int_t           fNMaxPartons;     // This stores the maximum number of partons
-               TParticle       fParticlesArray[2000];// This stores the particles      
+               Int_t           fNMaxPartons;   // This stores the maximum number of partons
+               TClonesArray*   fParticlesArray;//-> This stores the particles  
                Int_t           fNParticles;    // This stores the number of particles
                Int_t           fNMaxParticles; // This stroes the maximum number of particles
                Int_t           fDebug;         // This is the debug value 
                Bool_t          fInitialised;   // Stores whether or not the arrays have been initialised 
                
-       ClassDef(AliEMCALJetFinderInput,3)
+       ClassDef(AliEMCALJetFinderInput,4)
 };
 #endif