]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenReaderEcalHijing.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / EVGEN / AliGenReaderEcalHijing.cxx
index ba376fd48751491d390fd16321cbbe9ad1eb118e..c9482220a610cb04f4cdcf9f183615544fd805ed 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.1  2002/01/08 09:59:34  morsch
-Readers for EMCAL primary particle input.
-
-*/
-
+/* $Id$ */
+//
+// Realisation of AliGenReader to be used with AliGenExtFile
+// It reads Hijing events from a ntuple like event structure.
+// The event format is defined in Init()
+// NextEvent() is used to loop over events and NextParticle() to loop over particles.  
+// Author: andreas.morsch@cern.ch
+//
 #include <TFile.h>
-#include <TTree.h>
 #include <TParticle.h>
+#include <TDatabasePDG.h>
+#include <TTree.h>
 
 #include "AliGenReaderEcalHijing.h"
-#include "AliMC.h"
+
 ClassImp(AliGenReaderEcalHijing)
 
+AliGenReaderEcalHijing::AliGenReaderEcalHijing():
+    fNcurrent(0),
+    fNparticle(0),
+    fTreeNtuple(0),
+    fNjatt(0),
+    fNahij(0),
+    fNphij(0)
+{
+  // Default constructor
+  for (Int_t i = 0; i < 10000; i++) {
+    fKhij[i]  = 0;     
+    fPxhij[i] = 0.;    
+    fPyhij[i] = 0.;    
+    fPzhij[i] = 0.;
+    fEhij[i]  = 0.;     
+  }
+}
 
-AliGenReaderEcalHijing::AliGenReaderEcalHijing() 
+AliGenReaderEcalHijing::AliGenReaderEcalHijing(const AliGenReaderEcalHijing &reader):
+    AliGenReader(reader),
+    fNcurrent(0),
+    fNparticle(0),
+    fTreeNtuple(0),
+    fNjatt(0),
+    fNahij(0),
+    fNphij(0)
 {
-// Default constructor
-    fNcurrent   = 0;
-    fTreeNtuple = 0;
+    // Copy constructor
+  for (Int_t i = 0; i < 10000; i++) {
+    fKhij[i]  = 0;     
+    fPxhij[i] = 0.;    
+    fPyhij[i] = 0.;    
+    fPzhij[i] = 0.;
+    fEhij[i]  = 0.;     
+  }
+    reader.Copy(*this);
 }
 
 void AliGenReaderEcalHijing::Init() 
@@ -86,8 +118,9 @@ Int_t AliGenReaderEcalHijing::NextEvent()
 
 TParticle* AliGenReaderEcalHijing::NextParticle() 
 {
-    Float_t p[4];
 // Read the next particle
+
+    Float_t p[4];
     Int_t ipart = fKhij[fNparticle];
     p[0] = fPxhij[fNparticle];
     p[1] = fPyhij[fNparticle];      
@@ -112,7 +145,16 @@ TParticle* AliGenReaderEcalHijing::NextParticle()
 AliGenReaderEcalHijing& AliGenReaderEcalHijing::operator=(const  AliGenReaderEcalHijing& rhs)
 {
 // Assignment operator
-    return *this;
+    rhs.Copy(*this);
+    return (*this);
+}
+
+void AliGenReaderEcalHijing::Copy(TObject&) const
+{
+    //
+    // Copy 
+    //
+    Fatal("Copy","Not implemented!\n");
 }