fParticles-> replaced by fParticles.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Apr 2008 09:20:16 +0000 (09:20 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Apr 2008 09:20:16 +0000 (09:20 +0000)
PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythiaPlus.cxx
TDPMjet/AliGenDPMjet.cxx
THijing/AliGenHijing.cxx
TTherminator/AliGenTherminator.cxx

index 681569c..ab4c8a7 100644 (file)
@@ -228,7 +228,6 @@ AliGenPythia::AliGenPythia(Int_t npart)
     // Set random number generator 
     if (!AliPythiaRndm::GetPythiaRandom()) 
       AliPythiaRndm::SetPythiaRandom(GetRandom());
-    fParticles = new TClonesArray("TParticle",1000);
     SetNuclei(0,0);
  }
 
@@ -577,7 +576,7 @@ void AliGenPythia::Generate()
 //     printf("Calling hadronisation %d\n", fPythia->GetN());
        fPythia->Pyexec();      
        fTrials++;
-       fPythia->ImportParticles(fParticles,"All");
+       fPythia->ImportParticles(&fParticles,"All");
        Boost();
 //
 //
@@ -585,7 +584,7 @@ void AliGenPythia::Generate()
        Int_t i;
        
        fNprimaries = 0;
-       Int_t np = fParticles->GetEntriesFast();
+       Int_t np = fParticles.GetEntriesFast();
        
        if (np == 0) continue;
 //
@@ -615,7 +614,7 @@ void AliGenPythia::Generate()
            fProcess != kPyBeautyppMNRwmi) {
            
            for (i = 0; i < np; i++) {
-               TParticle* iparticle = (TParticle *) fParticles->At(i);
+               TParticle* iparticle = (TParticle *) fParticles.At(i);
                Int_t ks = iparticle->GetStatusCode();
                kf = CheckPDGCode(iparticle->GetPdgCode());
 // No initial state partons
@@ -642,20 +641,20 @@ void AliGenPythia::Generate()
                if (kf >= fFlavorSelect && kf <= 6) {
                    Int_t idau = iparticle->GetFirstDaughter() - 1;
                    if (idau > -1) {
-                       TParticle* daughter = (TParticle *) fParticles->At(idau);
+                       TParticle* daughter = (TParticle *) fParticles.At(idau);
                        Int_t pdgD = daughter->GetPdgCode();
                        if (pdgD == 91 || pdgD == 92) {
                            Int_t jmin = daughter->GetFirstDaughter() - 1;
                            Int_t jmax = daughter->GetLastDaughter()  - 1;                          
                            for (Int_t j = jmin; j <= jmax; j++)
-                               ((TParticle *) fParticles->At(j))->SetFirstMother(i+1);
+                               ((TParticle *) fParticles.At(j))->SetFirstMother(i+1);
                        } // is string or cluster
                    } // has daughter
                } // heavy quark
                
 
                if (ipa > -1) {
-                   TParticle *  mother = (TParticle *) fParticles->At(ipa);
+                   TParticle *  mother = (TParticle *) fParticles.At(ipa);
                    kfMo = TMath::Abs(mother->GetPdgCode());
                }
                
@@ -749,7 +748,7 @@ void AliGenPythia::Generate()
            if (nc > 0) {
                for (i = 0; i<np; i++) {
                    if (!pSelected[i]) continue;
-                   TParticle *  iparticle = (TParticle *) fParticles->At(i);
+                   TParticle *  iparticle = (TParticle *) fParticles.At(i);
                    kf = CheckPDGCode(iparticle->GetPdgCode());
                    Int_t ks = iparticle->GetStatusCode();  
                    p[0] = iparticle->Px();
@@ -835,15 +834,15 @@ Int_t  AliGenPythia::GenerateMB()
     
 
     
-    Int_t np = (fHadronisation) ? fParticles->GetEntriesFast() : fNpartons;
+    Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
 
 
 
     Int_t* pParent = new Int_t[np];
     for (i=0; i< np; i++) pParent[i] = -1;
     if (fProcess == kPyJets || fProcess == kPyDirectGamma) {
-       TParticle* jet1 = (TParticle *) fParticles->At(6);
-       TParticle* jet2 = (TParticle *) fParticles->At(7);
+       TParticle* jet1 = (TParticle *) fParticles.At(6);
+       TParticle* jet2 = (TParticle *) fParticles.At(7);
        if (!CheckTrigger(jet1, jet2)) {
          delete [] pParent;
          return 0;
@@ -860,11 +859,11 @@ Int_t  AliGenPythia::GenerateMB()
       else if (fPi0InCalo) pdg = 111 ; // Pi0
 
       for (i=0; i< np; i++) {
-       TParticle* iparticle = (TParticle *) fParticles->At(i);
+       TParticle* iparticle = (TParticle *) fParticles.At(i);
        if(iparticle->GetStatusCode()==1 && iparticle->GetPdgCode()==pdg && 
           iparticle->Pt() > fFragPhotonOrPi0MinPt){
          Int_t imother = iparticle->GetFirstMother() - 1;
-         TParticle* pmother = (TParticle *) fParticles->At(imother);
+         TParticle* pmother = (TParticle *) fParticles.At(imother);
          if(pdg == 111 || 
             (pdg == 22 && pmother->GetStatusCode() != 11))//No photon from hadron decay
            {
@@ -884,7 +883,7 @@ Int_t  AliGenPythia::GenerateMB()
     if (fTriggerMultiplicity > 0) {
       Int_t multiplicity = 0;
       for (i = 0; i < np; i++) {
-       TParticle *  iparticle = (TParticle *) fParticles->At(i);
+       TParticle *  iparticle = (TParticle *) fParticles.At(i);
        
        Int_t statusCode = iparticle->GetStatusCode();
        
@@ -923,7 +922,7 @@ Int_t  AliGenPythia::GenerateMB()
       Int_t pdg  = 22; 
       Int_t iphcand = -1;
       for (i=0; i< np; i++) {
-        TParticle* iparticle = (TParticle *) fParticles->At(i);
+        TParticle* iparticle = (TParticle *) fParticles.At(i);
         Float_t phi = iparticle->Phi()*180./TMath::Pi(); //Convert to degrees
         Float_t eta =TMath::Abs(iparticle->Eta());//in calos etamin=-etamax 
         
@@ -952,7 +951,7 @@ Int_t  AliGenPythia::GenerateMB()
     if (fTriggerParticle) {
        Bool_t triggered = kFALSE;
        for (i = 0; i < np; i++) {
-           TParticle *  iparticle = (TParticle *) fParticles->At(i);
+           TParticle *  iparticle = (TParticle *) fParticles.At(i);
            kf = CheckPDGCode(iparticle->GetPdgCode());
            if (kf != fTriggerParticle) continue;
            if (iparticle->Pt() == 0.) continue;
@@ -975,7 +974,7 @@ Int_t  AliGenPythia::GenerateMB()
       Float_t yQ;  
       Int_t   pdgQ;
       for(i=0; i<np; i++) {
-       hvq = (TParticle*)fParticles->At(i);
+       hvq = (TParticle*)fParticles.At(i);
        pdgQ = hvq->GetPdgCode();  
        if(TMath::Abs(pdgQ) != fFlavorSelect) continue; 
        if(pdgQ>0) { theQ=kTRUE; } else { theQbar=kTRUE; }
@@ -1005,7 +1004,7 @@ Int_t  AliGenPythia::GenerateMB()
 
     for (i = 0; i < np; i++) {
        Int_t trackIt = 0;
-       TParticle *  iparticle = (TParticle *) fParticles->At(i);
+       TParticle *  iparticle = (TParticle *) fParticles.At(i);
        kf = CheckPDGCode(iparticle->GetPdgCode());
        Int_t ks = iparticle->GetStatusCode();
        Int_t km = iparticle->GetFirstMother();
@@ -1253,10 +1252,10 @@ Bool_t AliGenPythia::CheckKinematicsOnChild(){
     Int_t nPartAcc = 0; //number of particles in the acceptance range
     Int_t numberOfAcceptedParticles = 1;
     if (fNumberOfAcceptedParticles != 0) { numberOfAcceptedParticles = fNumberOfAcceptedParticles; }
-    Int_t npart = fParticles->GetEntriesFast();
+    Int_t npart = fParticles.GetEntriesFast();
     
     for (j = 0; j<npart; j++) {
-       TParticle *  jparticle = (TParticle *) fParticles->At(j);
+       TParticle *  jparticle = (TParticle *) fParticles.At(j);
        kcode = TMath::Abs( CheckPDGCode(jparticle->GetPdgCode()) );
        ks = jparticle->GetStatusCode();
        km = jparticle->GetFirstMother(); 
@@ -1457,19 +1456,19 @@ void AliGenPythia::RotatePhi(Int_t iphcand, Bool_t& okdd)
   Double_t phiPHOS = gRandom->Uniform(phiPHOSmin,phiPHOSmax);
   
   //calculate deltaphi
-  TParticle* ph = (TParticle *) fParticles->At(iphcand);
+  TParticle* ph = (TParticle *) fParticles.At(iphcand);
   Double_t phphi = ph->Phi();
   Double_t deltaphi = phiPHOS - phphi;
 
   
   
   //loop for all particles and produce the phi rotation
-  Int_t np = (fHadronisation) ? fParticles->GetEntriesFast() : fNpartons;
+  Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
   Double_t oldphi, newphi;
   Double_t newVx, newVy, R, Vz, time; 
   Double_t newPx, newPy, pt, Pz, e;
   for(Int_t i=0; i< np; i++) {
-      TParticle* iparticle = (TParticle *) fParticles->At(i);
+      TParticle* iparticle = (TParticle *) fParticles.At(i);
       oldphi = iparticle->Phi();
       newphi = oldphi + deltaphi;
       if(newphi < 0) newphi = 2*TMath::Pi() + newphi; // correct angle 
index 35ba99a..d0dd9d7 100644 (file)
@@ -224,7 +224,6 @@ AliGenPythiaPlus::AliGenPythiaPlus(AliPythiaBase* pythia)
     // Set random number generator 
     if (!AliPythiaRndm::GetPythiaRandom()) 
       AliPythiaRndm::SetPythiaRandom(GetRandom());
-    fParticles = new TClonesArray("TParticle",1000);
     SetNuclei(0,0);
  }
 
@@ -553,7 +552,7 @@ void AliGenPythiaPlus::Generate()
 //     printf("Calling hadronisation %d\n", fPythia->GetN());
 //     fPythia->HadronizeEvent();      
        fTrials++;
-       fPythia->GetParticles(fParticles);
+       fPythia->GetParticles(&fParticles);
        Boost();
 //
 //
@@ -561,7 +560,7 @@ void AliGenPythiaPlus::Generate()
        Int_t i;
        
        fNprimaries = 0;
-       Int_t np = fParticles->GetEntriesFast();
+       Int_t np = fParticles.GetEntriesFast();
        
        if (np == 0) continue;
 //
@@ -591,7 +590,7 @@ void AliGenPythiaPlus::Generate()
            fProcess != kPyBeautyppMNRwmi) {
            
            for (i = 0; i < np; i++) {
-               TParticle* iparticle = (TParticle *) fParticles->At(i);
+               TParticle* iparticle = (TParticle *) fParticles.At(i);
                Int_t ks = iparticle->GetStatusCode();
                kf = CheckPDGCode(iparticle->GetPdgCode());
 // No initial state partons
@@ -618,21 +617,21 @@ void AliGenPythiaPlus::Generate()
                if (kf >= fFlavorSelect && kf <= 6) {
                    Int_t idau = (fPythia->Version() == 6) ? (iparticle->GetFirstDaughter() - 1) :(iparticle->GetFirstDaughter());
                    if (idau > -1) {
-                       TParticle* daughter = (TParticle *) fParticles->At(idau);
+                       TParticle* daughter = (TParticle *) fParticles.At(idau);
                        Int_t pdgD = daughter->GetPdgCode();
                        if (pdgD == 91 || pdgD == 92) {
                            Int_t jmin = (fPythia->Version() == 6) ? (daughter->GetFirstDaughter() - 1) : (daughter->GetFirstDaughter());
                            Int_t jmax = (fPythia->Version() == 6) ? (daughter->GetLastDaughter() - 1)  : (daughter->GetLastDaughter());
 
                            for (Int_t j = jmin; j <= jmax; j++)
-                               ((TParticle *) fParticles->At(j))->SetFirstMother(i+1);
+                               ((TParticle *) fParticles.At(j))->SetFirstMother(i+1);
                        } // is string or cluster
                    } // has daughter
                } // heavy quark
                
 
                if (ipa > -1) {
-                   TParticle *  mother = (TParticle *) fParticles->At(ipa);
+                   TParticle *  mother = (TParticle *) fParticles.At(ipa);
                    kfMo = TMath::Abs(mother->GetPdgCode());
                }
                
@@ -726,7 +725,7 @@ void AliGenPythiaPlus::Generate()
            if (nc > 0) {
                for (i = 0; i < np; i++) {
                    if (!pSelected[i]) continue;
-                   TParticle *  iparticle = (TParticle *) fParticles->At(i);
+                   TParticle *  iparticle = (TParticle *) fParticles.At(i);
                    kf = CheckPDGCode(iparticle->GetPdgCode());
                    Int_t ks = iparticle->GetStatusCode();  
                    p[0] = iparticle->Px();
@@ -807,13 +806,13 @@ Int_t  AliGenPythiaPlus::GenerateMB()
 //  converts from mm/c to s
     const Float_t kconv = 0.001 / 2.999792458e8;
     
-    Int_t np = (fHadronisation) ? fParticles->GetEntriesFast() : fNpartons;
+    Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
     
     Int_t* pParent = new Int_t[np];
     for (i=0; i< np; i++) pParent[i] = -1;
     if (fProcess == kPyJets || fProcess == kPyDirectGamma) {
-       TParticle* jet1 = (TParticle *) fParticles->At(6);
-       TParticle* jet2 = (TParticle *) fParticles->At(7);
+       TParticle* jet1 = (TParticle *) fParticles.At(6);
+       TParticle* jet2 = (TParticle *) fParticles.At(7);
        if (!CheckTrigger(jet1, jet2)) {
          delete [] pParent;
          return 0;
@@ -830,11 +829,11 @@ Int_t  AliGenPythiaPlus::GenerateMB()
       else if (fPi0InCalo) pdg = 111 ; // Pi0
 
       for (i=0; i< np; i++) {
-       TParticle* iparticle = (TParticle *) fParticles->At(i);
+       TParticle* iparticle = (TParticle *) fParticles.At(i);
        if(iparticle->GetStatusCode()==1 && iparticle->GetPdgCode()==pdg && 
           iparticle->Pt() > fFragPhotonOrPi0MinPt){
            Int_t imother = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
-         TParticle* pmother = (TParticle *) fParticles->At(imother);
+         TParticle* pmother = (TParticle *) fParticles.At(imother);
          if(pdg == 111 || 
             (pdg == 22 && pmother->GetStatusCode() != 11))//No photon from hadron decay
            {
@@ -859,7 +858,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
       Int_t pdg  = 22; 
       Int_t iphcand = -1;
       for (i=0; i< np; i++) {
-        TParticle* iparticle = (TParticle *) fParticles->At(i);
+        TParticle* iparticle = (TParticle *) fParticles.At(i);
         Float_t phi = iparticle->Phi()*180./TMath::Pi(); //Convert to degrees
         Float_t eta =TMath::Abs(iparticle->Eta());//in calos etamin=-etamax 
         
@@ -888,7 +887,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
     if (fTriggerParticle) {
        Bool_t triggered = kFALSE;
        for (i = 0; i < np; i++) {
-           TParticle *  iparticle = (TParticle *) fParticles->At(i);
+           TParticle *  iparticle = (TParticle *) fParticles.At(i);
            kf = CheckPDGCode(iparticle->GetPdgCode());
            if (kf != fTriggerParticle) continue;
            if (iparticle->Pt() == 0.) continue;
@@ -911,7 +910,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
       Float_t yQ;  
       Int_t   pdgQ;
       for(i=0; i<np; i++) {
-       hvq = (TParticle*)fParticles->At(i);
+       hvq = (TParticle*)fParticles.At(i);
        pdgQ = hvq->GetPdgCode();  
        if(TMath::Abs(pdgQ) != fFlavorSelect) continue; 
        if(pdgQ>0) { theQ=kTRUE; } else { theQbar=kTRUE; }
@@ -941,7 +940,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
 
     for (i = 0; i < np; i++) {
        Int_t trackIt = 0;
-       TParticle *  iparticle = (TParticle *) fParticles->At(i);
+       TParticle *  iparticle = (TParticle *) fParticles.At(i);
        kf = CheckPDGCode(iparticle->GetPdgCode());
        Int_t ks = iparticle->GetStatusCode();
        Int_t km = iparticle->GetFirstMother();
@@ -1192,10 +1191,10 @@ Bool_t AliGenPythiaPlus::CheckKinematicsOnChild(){
     Int_t nPartAcc = 0; //number of particles in the acceptance range
     Int_t numberOfAcceptedParticles = 1;
     if (fNumberOfAcceptedParticles != 0) { numberOfAcceptedParticles = fNumberOfAcceptedParticles; }
-    Int_t npart = fParticles->GetEntriesFast();
+    Int_t npart = fParticles.GetEntriesFast();
     
     for (j = 0; j<npart; j++) {
-       TParticle *  jparticle = (TParticle *) fParticles->At(j);
+       TParticle *  jparticle = (TParticle *) fParticles.At(j);
        kcode = TMath::Abs( CheckPDGCode(jparticle->GetPdgCode()) );
        ks = jparticle->GetStatusCode();
        km = jparticle->GetFirstMother(); 
@@ -1333,19 +1332,19 @@ void AliGenPythiaPlus::RotatePhi(Int_t iphcand, Bool_t& okdd)
   Double_t phiPHOS = gRandom->Uniform(phiPHOSmin,phiPHOSmax);
   
   //calculate deltaphi
-  TParticle* ph = (TParticle *) fParticles->At(iphcand);
+  TParticle* ph = (TParticle *) fParticles.At(iphcand);
   Double_t phphi = ph->Phi();
   Double_t deltaphi = phiPHOS - phphi;
 
   
   
   //loop for all particles and produce the phi rotation
-  Int_t np = (fHadronisation) ? fParticles->GetEntriesFast() : fNpartons;
+  Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
   Double_t oldphi, newphi;
   Double_t newVx, newVy, R, Vz, time; 
   Double_t newPx, newPy, pt, Pz, e;
   for(Int_t i=0; i< np; i++) {
-      TParticle* iparticle = (TParticle *) fParticles->At(i);
+      TParticle* iparticle = (TParticle *) fParticles.At(i);
       oldphi = iparticle->Phi();
       newphi = oldphi + deltaphi;
       if(newphi < 0) newphi = 2*TMath::Pi() + newphi; // correct angle 
index 8e58a55..744ff6a 100644 (file)
@@ -55,7 +55,6 @@ AliGenDPMjet::AliGenDPMjet()
      fSpecn(0),
      fSpecp(0),
      fDPMjet(0),
-     fParticles(0),
      fNoGammas(0),
      fLHC(0),
      fPi0Decay(0),
@@ -82,7 +81,6 @@ AliGenDPMjet::AliGenDPMjet(Int_t npart)
      fSpecn(0),
      fSpecp(0),
      fDPMjet(0),
-     fParticles(new TClonesArray("TParticle",10000)),
      fNoGammas(0),
      fLHC(0),
      fPi0Decay(0),
@@ -113,7 +111,6 @@ AliGenDPMjet::AliGenDPMjet(const AliGenDPMjet &/*Dpmjet*/)
      fSpecn(0),
      fSpecp(0),
      fDPMjet(0),
-     fParticles(0),
      fNoGammas(0),
      fLHC(0),
      fPi0Decay(0),
@@ -127,7 +124,6 @@ AliGenDPMjet::AliGenDPMjet(const AliGenDPMjet &/*Dpmjet*/)
 AliGenDPMjet::~AliGenDPMjet()
 {
 // Destructor
-    delete fParticles;
 }
 //______________________________________________________________________________
 void AliGenDPMjet::Init()
@@ -188,13 +184,13 @@ void AliGenDPMjet::Generate()
       fDPMjet->GenerateEvent();
       fTrials++;
 
-      fDPMjet->ImportParticles(fParticles,"All");      
+      fDPMjet->ImportParticles(&fParticles,"All");      
       if (fLHC) Boost();
 
       // Temporaneo
       fGenImpPar = fDPMjet->GetBImpac();
       
-      Int_t np = fParticles->GetEntriesFast();
+      Int_t np = fParticles.GetEntriesFast();
       printf("\n **************************************************%d\n",np);
       Int_t nc=0;
       if (np==0) continue;
@@ -216,7 +212,7 @@ void AliGenDPMjet::Generate()
 //      First select parent particles
 
       for (i = 0; i<np; i++) {
-         TParticle *iparticle = (TParticle *) fParticles->At(i);
+         TParticle *iparticle = (TParticle *) fParticles.At(i);
 
 // Is this a parent particle ?
 
@@ -248,7 +244,7 @@ void AliGenDPMjet::Generate()
 
 
       for (i=0; i<np; i++) {
-         TParticle *iparticle = (TParticle *) fParticles->At(i);
+         TParticle *iparticle = (TParticle *) fParticles.At(i);
 
 // Is this a final state particle ?
 
@@ -282,7 +278,7 @@ void AliGenDPMjet::Generate()
 // Write particles to stack
 
       for (i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles->At(i);
+         TParticle *  iparticle = (TParticle *) fParticles.At(i);
          Bool_t  hasMother   = (iparticle->GetFirstMother()>=0);
          if (pSelected[i]) {
              
@@ -302,7 +298,7 @@ void AliGenDPMjet::Generate()
              TParticle* mother = 0;
              if (hasMother) {
                  imo = iparticle->GetFirstMother();
-                 mother = (TParticle *) fParticles->At(imo);
+                 mother = (TParticle *) fParticles.At(imo);
                  imo = (mother->GetPdgCode() != 92) ? newPos[imo] : -1;
              } // if has mother   
 
@@ -342,7 +338,7 @@ Bool_t AliGenDPMjet::DaughtersSelection(TParticle* iparticle)
        imin = iparticle->GetFirstDaughter();
        imax = iparticle->GetLastDaughter();       
        for (i = imin; i <= imax; i++){
-           TParticle *  jparticle = (TParticle *) fParticles->At(i);   
+           TParticle *  jparticle = (TParticle *) fParticles.At(i);    
            Int_t ip = jparticle->GetPdgCode();
            if (KinematicSelection(jparticle,0)&&SelectFlavor(ip)) {
                selected=kTRUE; break;
index 31fe03d..ac40008 100644 (file)
@@ -76,7 +76,6 @@ AliGenHijing::AliGenHijing()
      fNoHeavyQuarks(kFALSE)
 {
 // Constructor
-    fParticles = 0;
     AliHijingRndm::SetHijingRandom(GetRandom());
 }
 
@@ -124,7 +123,6 @@ AliGenHijing::AliGenHijing(Int_t npart)
     fName = "Hijing";
     fTitle= "Particle Generator using HIJING";
 //
-    fParticles = new TClonesArray("TParticle",10000);    
 //
 // Set random number generator   
     AliHijingRndm::SetHijingRandom(GetRandom());
@@ -135,7 +133,6 @@ AliGenHijing::~AliGenHijing()
 // Destructor
     if ( fDsigmaDb) delete  fDsigmaDb;  
     if ( fDnDb)     delete  fDnDb;  
-    delete fParticles;
 }
 
 void AliGenHijing::Init()
@@ -252,14 +249,14 @@ void AliGenHijing::Generate()
       fHijing->GenerateEvent();
       fTrials++;
       fNprimaries = 0;
-      fHijing->ImportParticles(fParticles,"All");
+      fHijing->ImportParticles(&fParticles,"All");
       if (fTrigger != kNoTrigger) {
          if (!CheckTrigger()) continue;
       }
       if (fLHC) Boost();
       
       
-      Int_t np = fParticles->GetEntriesFast();
+      Int_t np = fParticles.GetEntriesFast();
       printf("\n **************************************************%d\n",np);
       Int_t nc = 0;
       if (np == 0 ) continue;
@@ -274,7 +271,7 @@ void AliGenHijing::Generate()
       
 //      Get event vertex
 //
-      TParticle *  iparticle = (TParticle *) fParticles->At(0);
+      TParticle *  iparticle = (TParticle *) fParticles.At(0);
       fVertex[0] = origin0[0];
       fVertex[1] = origin0[1]; 
       fVertex[2] = origin0[2];
@@ -284,7 +281,7 @@ void AliGenHijing::Generate()
 //
 
       for (i = 0; i < np; i++) {
-         iparticle = (TParticle *) fParticles->At(i);
+         iparticle = (TParticle *) fParticles.At(i);
 
 // Is this a parent particle ?
          if (Stable(iparticle)) continue;
@@ -314,7 +311,7 @@ void AliGenHijing::Generate()
 //
 
       for (i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles->At(i);
+         TParticle *  iparticle = (TParticle *) fParticles.At(i);
 // Is this a final state particle ?
          if (!Stable(iparticle)) continue;
       
@@ -358,7 +355,7 @@ void AliGenHijing::Generate()
 // Write particles to stack
 
       for (i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles->At(i);
+         TParticle *  iparticle = (TParticle *) fParticles.At(i);
          Bool_t  hasMother   = (iparticle->GetFirstMother()     >=0);
          Bool_t  hasDaughter = (iparticle->GetFirstDaughter()   >=0);
          if (pSelected[i]) {
@@ -377,7 +374,7 @@ void AliGenHijing::Generate()
              TParticle* mother = 0;
              if (hasMother) {
                  imo = iparticle->GetFirstMother();
-                 mother = (TParticle *) fParticles->At(imo);
+                 mother = (TParticle *) fParticles.At(imo);
                  imo = (mother->GetPdgCode() != 92) ? newPos[imo] : -1;
              } // if has mother   
              Bool_t tFlag = (fTrackIt && !hasDaughter);
@@ -490,7 +487,7 @@ Bool_t AliGenHijing::DaughtersSelection(TParticle* iparticle)
        imin = iparticle->GetFirstDaughter();
        imax = iparticle->GetLastDaughter();       
        for (i = imin; i <= imax; i++){
-           TParticle *  jparticle = (TParticle *) fParticles->At(i);   
+           TParticle *  jparticle = (TParticle *) fParticles.At(i);    
            Int_t ip = jparticle->GetPdgCode();
            if (KinematicSelection(jparticle,0)&&SelectFlavor(ip)) {
                selected=kTRUE; break;
@@ -629,9 +626,9 @@ Bool_t AliGenHijing::CheckTrigger()
     } else if (fTrigger == 2) {
 //  Gamma Jet
 //
-       Int_t np = fParticles->GetEntriesFast();
+       Int_t np = fParticles.GetEntriesFast();
        for (Int_t i = 0; i < np; i++) {
-           TParticle* part = (TParticle*) fParticles->At(i);
+           TParticle* part = (TParticle*) fParticles.At(i);
            Int_t kf = part->GetPdgCode();
            Int_t ksp = part->GetUniqueID();
            if (kf == 22 && ksp == 40) {
index 149f0b4..f7d368e 100644 (file)
@@ -44,7 +44,6 @@ AliGenTherminator::AliGenTherminator():
   fBWDelay(0.0)
 {
   // Default constructor
-  fParticles = new TClonesArray("TParticle",20000);    
 }
 AliGenTherminator::AliGenTherminator(Int_t npart):
   AliGenMC(npart),
@@ -65,7 +64,6 @@ AliGenTherminator::AliGenTherminator(Int_t npart):
   fBWDelay(0.0)
 {
   // Constructor specifying the size of the particle table
-  fParticles = new TClonesArray("TParticle",20000);    
   fNprimaries = 0;
 }
 
@@ -97,16 +95,16 @@ void AliGenTherminator::Generate()
 
   ((TTherminator *) fMCEvGen)->GenerateEvent();
   AliWarning("Generated");
-  ((TTherminator *) fMCEvGen)->ImportParticles(fParticles);
+  ((TTherminator *) fMCEvGen)->ImportParticles(&fParticles);
 
-  Int_t np = fParticles->GetEntriesFast();
+  Int_t np = fParticles.GetEntriesFast();
   AliWarning(Form("Imported %d particles", np));
 
   TParticle *iparticle;
   Double_t evrot = gRandom->Rndm()*TMath::Pi();
   
   for (int i = 0; i < np; i++) {
-    iparticle = (TParticle *) fParticles->At(i);
+    iparticle = (TParticle *) fParticles.At(i);
     Bool_t  hasMother   = (iparticle->GetFirstMother()     >=0);
     Bool_t  hasDaughter = (iparticle->GetFirstDaughter()   >=0);
     
@@ -132,7 +130,7 @@ void AliGenTherminator::Generate()
     TParticle* mother = 0;
     if (hasMother) {
       imo = iparticle->GetFirstMother();
-      mother = (TParticle *) fParticles->At(imo);
+      mother = (TParticle *) fParticles.At(imo);
     } // if has mother   
     Bool_t tFlag = (!hasDaughter);