ClassImp(AliIonPDGCodes)
//______________________________________________________________________________
-AliIonPDGCodes::AliIonPDGCodes()
+ AliIonPDGCodes::AliIonPDGCodes():
+ TObject(),
+ fNIon(200)
{
- fNIon = 200;
+ for(Int_t i=0; i<fNIon; i++) fPDGCode[i]=0;
+}
+
+AliIonPDGCodes::AliIonPDGCodes(const AliIonPDGCodes &/*PDGCodes*/)
+ :TObject(),
+ fNIon(200)
+{
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;
}
//______________________________________________________________________________
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;
}