]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenReaderCwn.cxx
Converting PWG/TRD to native cmake
[u/mrichter/AliRoot.git] / EVGEN / AliGenReaderCwn.cxx
index 2c164ac9a0289d0f82fb057e5e8461d303b24406..08444493f7e0789384f4dea67fd403af7c8c4687 100644 (file)
  **************************************************************************/
 
 
-/*
-$Log$
-Revision 1.1  2001/11/09 09:10:46  morsch
-Realisation of AliGenReader that reads the old cwn event format.
-
-*/
+/* $Id$ */
 
 // Read the old ALICE event format based on CW-ntuples
 // http://consult.cern.ch/alice/Internal_Notes/1995/32/abstract
@@ -28,21 +23,57 @@ Realisation of AliGenReader that reads the old cwn event format.
 // Author: andreas.morsch@cern.ch
 
 #include <TFile.h>
-#include <TTree.h>
 #include <TParticle.h>
+#include <TDatabasePDG.h>
+#include <TTree.h>
+#include <TVirtualMC.h>
 
 #include "AliGenReaderCwn.h"
-#include "AliMC.h"
-ClassImp(AliGenReaderCwn);
-
 
-AliGenReaderCwn::AliGenReaderCwn() 
+ClassImp(AliGenReaderCwn)
+
+AliGenReaderCwn::AliGenReaderCwn():
+    fNcurrent(0),
+    fNparticle(0),
+    fNparticleMax(0),
+    fTreeNtuple(0),
+    fNihead(0),
+    fNrhead(0),
+    fIdpart(0),
+    fTheta(0.),
+    fPhi(0.),
+    fP(0.),
+    fE(0.)
 {
 // Default constructor
-    fNcurrent   = 0;
-    fTreeNtuple = 0;
+    Int_t i;
+    for (i = 0; i <  6; i++) fRhead[i] = 0.;
+    for (i = 0; i < 12; i++) fIhead[i] = 0;
+}
+
+
+AliGenReaderCwn::AliGenReaderCwn(const AliGenReaderCwn &reader):
+    AliGenReader(reader),
+    fNcurrent(0),
+    fNparticle(0),
+    fNparticleMax(0),
+    fTreeNtuple(0),
+    fNihead(0),
+    fNrhead(0),
+    fIdpart(0),
+    fTheta(0.),
+    fPhi(0.),
+    fP(0.),
+    fE(0.)
+{
+    // Copy constructor
+    Int_t i;
+    for (i = 0; i <  6; i++) fRhead[i] = 0.;
+    for (i = 0; i < 12; i++) fIhead[i] = 0;
+    reader.Copy(*this);
 }
 
+
 AliGenReaderCwn::~AliGenReaderCwn()
 {
     delete fTreeNtuple;
@@ -86,7 +117,6 @@ Int_t AliGenReaderCwn::NextEvent()
 
     Int_t nentries = (Int_t) fTreeNtuple->GetEntries();
     if (fNcurrent < nentries) {
-       Int_t nb = (Int_t)fTreeNtuple->GetEvent(fNcurrent);
        fNcurrent++;
        
        Int_t i5=fIhead[4];
@@ -100,20 +130,19 @@ Int_t AliGenReaderCwn::NextEvent()
        }    
        fNparticleMax = nTracks;
        return nTracks;
-    } else {
-       return 0;
     }
+
     return 0;
 }
 
 TParticle* AliGenReaderCwn::NextParticle() 
 {
-//
+// Read next particle
 //  
     Float_t prwn;
     Float_t p[4];
 // Read the next particle
-    if (fCode == kGEANT3) fIdpart=gMC->PDGFromId(fIdpart);
+    if (fCode == kGEANT3) fIdpart=TVirtualMC::GetMC()->PDGFromId(fIdpart);
     Double_t amass = TDatabasePDG::Instance()->GetParticle(fIdpart)->Mass();
     if(fE<=amass) {
        Warning("Generate","Particle %d  E = %f mass = %f %f %f \n",
@@ -129,9 +158,7 @@ TParticle* AliGenReaderCwn::NextParticle()
     p[1] = prwn*TMath::Sin(fTheta)*TMath::Sin(fPhi);      
     p[2] = prwn*TMath::Cos(fTheta);
     p[3] = fE;
-    TParticle* particle = new TParticle(fIdpart, 0, -1, -1, -1, -1, p[0], p[1], p[2], p[3], 
-                                       0., 0., 0., 0.);
-    Int_t nb = (Int_t)fTreeNtuple->GetEvent(fNcurrent);
+    TParticle* particle = new TParticle(fIdpart, 0, -1, -1, -1, -1, p[0], p[1], p[2], p[3], 0., 0., 0., 0.);
     fNcurrent++;
     fNparticle++;
     return particle;
@@ -142,8 +169,18 @@ TParticle* AliGenReaderCwn::NextParticle()
 AliGenReaderCwn& AliGenReaderCwn::operator=(const  AliGenReaderCwn& rhs)
 {
 // Assignment operator
+    rhs.Copy(*this);
     return *this;
 }
 
+void AliGenReaderCwn::Copy(TObject&) const
+{
+    //
+    // Copy 
+    //
+    Fatal("Copy","Not implemented!\n");
+}
+
+