Add method SetParticleCode and enum type Code_t to handle both PDG (new ntuples)
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 23 Jan 2001 13:29:37 +0000 (13:29 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 23 Jan 2001 13:29:37 +0000 (13:29 +0000)
and GEANT3 codes (old ntuples) in input file.

EVGEN/AliGenExtFile.cxx
EVGEN/AliGenExtFile.h

index a6ef774..85d3fb3 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.14  2000/12/21 16:24:06  morsch
+Coding convention clean-up
+
 Revision 1.13  2000/11/30 07:12:50  alibrary
 Introducing new Rndm and QA classes
 
@@ -73,6 +76,7 @@ Introduction of the Copyright and cvs Log
     fFileName="";
     fTreeNtuple=0;
     fNcurrent=0;
+    fCode = kGEANT3;
 //
 //  Read all particles
     fNpart=-1;
@@ -85,6 +89,7 @@ AliGenExtFile::AliGenExtFile(Int_t npart)
     fName="ExtFile";
     fTitle="Primaries from ext. File";
     fFileName="";
+    fCode = kGEANT3;
     fTreeNtuple=0;
     fNcurrent=0;
 }
@@ -123,7 +128,6 @@ void AliGenExtFile::NtupleInit()
 
     TTree *h2=fTreeNtuple;
 //Set branch addresses
-//Set branch addresses
     h2->SetBranchAddress("Nihead",&fNihead);
     h2->SetBranchAddress("Ihead",fIhead);
     h2->SetBranchAddress("Nrhead",&fNrhead);
@@ -179,7 +183,7 @@ void AliGenExtFile::Generate()
       nTracks=i6;
   }
   for (i=0; i<nTracks; i++) {
-      fIdpart=gMC->PDGFromId(fIdpart);
+      if (fCode == kGEANT3) fIdpart=gMC->PDGFromId(fIdpart);
       Double_t amass = TDatabasePDG::Instance()->GetParticle(fIdpart)->Mass();
       if(fE<=amass) {
        Warning("Generate","Particle %d no %d E = %f mass = %f %f %f \n",
index 1ede39e..22561b9 100644 (file)
@@ -30,11 +30,15 @@ class AliGenExtFile : public AliGenerator
     // generate event
     virtual void Generate();
     AliGenExtFile & operator=(const AliGenExtFile & rhs);
+    enum Code_t {kPDG, kGEANT3};
+    void SetParticleCode(Code_t code) {fCode = code;}
+    
 protected:
     const Text_t     *fFileName;      //! Choose the file
     Int_t             fNcurrent;      // points to the next entry
     TTree            *fTreeNtuple;    // pointer to the TTree
     //Declaration of leaves types
+    Code_t          fCode;            // Particle code type
     Int_t           fNihead;          // Number of entries in integer header  
     Int_t           fIhead[12];       // Integer header
     Int_t           fNrhead;          // Number of entries in float header