]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCocktail.cxx
Store 4-momenta of trigegred jets in event header.
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktail.cxx
index f480c949521c4d2567ba62ff98211d80b3bd03f8..364322d36f190768c81135e9c58ed2cc0fa3f1f5 100644 (file)
 
 /*
 $Log$
+Revision 1.11  2001/01/30 09:23:12  hristov
+Streamers removed (R.Brun)
+
+Revision 1.10  2001/01/26 19:55:49  hristov
+Major upgrade of AliRoot code
+
+Revision 1.9  2000/12/21 16:24:06  morsch
+Coding convention clean-up
+
+Revision 1.8  2000/10/27 13:53:29  morsch
+AddGenerator: check testbit before setting the pT and momentum range
+(D.Y. Peressounko)
+
 Revision 1.7  2000/10/02 15:15:41  morsch
 Use default streamer for AliGenCocktail
 
@@ -29,9 +42,18 @@ Introduction of the Copyright and cvs Log
 
 */
 
+// Container class for AliGenerator through recursion.
+// Container is itself an AliGenerator.
+// What is stored are not the pointers to the generators directly but to objects of type
+// AliGenCocktail entry.   
+// The class provides also iterator functionality.  
+// Author: andreas.morsch@cern.ch 
+//
+
 #include "AliGenCocktail.h"
 #include "AliGenCocktailEntry.h"
 #include "AliRun.h"
+#include <TList.h>
 
 ClassImp(AliGenCocktail)
 
@@ -59,18 +81,19 @@ AddGenerator(AliGenerator *Generator, char* Name, Float_t RateExp)
 {
 //
 //  Forward parameters to the new generator
-    if(TestBit(kPtRange)) 
-    Generator->SetPtRange(fPtMin,fPtMax);
-    if(TestBit(kMomentumRange))
-    Generator->SetMomentumRange(fPMin,fPMax);
-
-    Generator->SetYRange(fYMin,fYMax);
-    Generator->
-       SetPhiRange(fPhiMin*180/TMath::Pi(),fPhiMax*180/TMath::Pi());
-    Generator->
-       SetThetaRange(fThetaMin*180/TMath::Pi(),fThetaMax*180/TMath::Pi());
-    Generator->
-       SetOrigin(fOrigin[0], fOrigin[1], fOrigin[2]);
+    if(TestBit(kPtRange) && !(Generator->TestBit(kPtRange)) && !(Generator->TestBit(kMomentumRange))) 
+       Generator->SetPtRange(fPtMin,fPtMax);
+    if(TestBit(kMomentumRange) && !(Generator->TestBit(kPtRange)) && !(Generator->TestBit(kMomentumRange)))
+       Generator->SetMomentumRange(fPMin,fPMax);
+    
+    if (!(Generator->TestBit(kYRange)))    
+       Generator->SetYRange(fYMin,fYMax);
+    if (!(Generator->TestBit(kPhiRange)))   
+       Generator->SetPhiRange(fPhiMin*180/TMath::Pi(),fPhiMax*180/TMath::Pi());
+    if (!(Generator->TestBit(kThetaRange))) 
+       Generator->SetThetaRange(fThetaMin*180/TMath::Pi(),fThetaMax*180/TMath::Pi());
+    if (!(Generator->TestBit(kVertexRange))) 
+       Generator->SetOrigin(fOrigin[0], fOrigin[1], fOrigin[2]);
     Generator->
        SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]);
     Generator->SetVertexSmear(fVertexSmear);
@@ -104,7 +127,7 @@ AddGenerator(AliGenerator *Generator, char* Name, Float_t RateExp)
     AliGenCocktailEntry *entry;
     AliGenCocktailEntry *e1;
     AliGenCocktailEntry *e2;
-    TClonesArray *partArray = gAlice->Particles();
+    TObjArray *partArray = gAlice->Particles();
     //
     // Loop over generators and generate events
     Int_t igen=0;
@@ -192,37 +215,6 @@ NextGeneratorPair(AliGenCocktailEntry*& e1, AliGenCocktailEntry*& e2)
     }
 }
 
-/*
-void AliGenCocktail::Streamer(TBuffer &R__b)
-{
-    // Stream an object of class AliGenCocktail.
-
-    AliGenCocktailEntry *entry;
-    
-    if (R__b.IsReading()) {
-       Version_t R__v = R__b.ReadVersion(); if (R__v) { }
-       AliGenerator::Streamer(R__b);
-       R__b >> fNGenerators;
-       R__b >> fEntries;
-       TIter next(fEntries);
-// Stream generation related information
-       while((entry = (AliGenCocktailEntry*)next())) {
-           entry->Streamer(R__b);
-       }  
-    } else {
-       R__b.WriteVersion(AliGenCocktail::IsA());
-       AliGenerator::Streamer(R__b);
-       R__b << fNGenerators;
-       R__b << fEntries;
-       TIter next(fEntries); 
-// Stream generation related information
-       while((entry = (AliGenCocktailEntry*)next())) {
-           entry->Streamer(R__b);
-       }  
-    }
-}
-*/
-
 AliGenCocktail& AliGenCocktail::operator=(const  AliGenCocktail& rhs)
 {
 // Assignment operator