for(Int_t i=0; i<fNIon; i++) fPDGCode[i]=0;
}
+AliIonPDGCodes& AliIonPDGCodes::operator=(const AliIonPDGCodes &pdg)
+{
+ for(Int_t i=0; i<fNIon; i++) fPDGCode[i]=0;
+ if (this != &pdg) {
+ TObject::operator=(pdg);
+ fNIon = pdg.fNIon;
+ for(Int_t i=0; i<fNIon; i++) fPDGCode[i]=pdg.fPDGCode[i];
+ }
+ return *this;
+}
+
//______________________________________________________________________________
void AliIonPDGCodes::AddParticlesToPdgDataBase()
{
TDatabasePDG *pdgDB = TDatabasePDG::Instance();
- const Int_t kOffset=10000000;
+ const Int_t kOffset=1000000000;
pdgDB->AddParticle("H","H",1.00794,kTRUE,0,1,"Ion",1*10000+1*10+kOffset,-1,8);
//pdgDB->AddParticle("Helium","Helium",4.0026,kTRUE,0,2,"Ion",2*10000+4*10+kOffset,-1,8);
// Return PDG code and pseudo ENDF code from Geant3 code
//
const Int_t kOffset=10000000;
- if(id>0 && id<fNIon) return fPDGCode[id+kOffset];
+ id -= kOffset;
+ if(id >= 0 && id < fNIon) return fPDGCode[id];
else return -1;
}