**************************************************************************/
-/*
-$Log$
-Revision 1.4 2002/10/30 13:39:51 hristov
-Warnings cleaned up (Alpha)
-
-Revision 1.3 2002/10/21 09:20:51 alibrary
-Introduce Riostream.h and remove unused variables
-
-Revision 1.2 2001/11/12 14:31:00 morsch
-Memory leaks fixed. (M. Bondila)
-
-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
// 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"
-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;
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",
AliGenReaderCwn& AliGenReaderCwn::operator=(const AliGenReaderCwn& rhs)
{
// Assignment operator
+ rhs.Copy(*this);
return *this;
}
+void AliGenReaderCwn::Copy(TObject&) const
+{
+ //
+ // Copy
+ //
+ Fatal("Copy","Not implemented!\n");
+}
+
+