Dear Florian and Volker,
As we have discussed at Software meeting last week, at the moment FairIon does not support hypernuclei, for which reason they cannot be transported using standard macro.
Our colleagues from PWG-hadron shared with us a piece of code which they use to define hypernuclei in VMC and register them in database.
For this purpose they take lifetime and decay modes from tables contained in one of KFParticle classes
and use the following methods:
TDatabasePDG::AddParticle (const char *name,
const char * title,
const char * ParticleClass,
Int_t Anti = -1,
Int_t TrackingCode = 0)
TVirtualMC::DefineParticle (Int_t pdg, const char* name,
Double_t mass, Double_t charge, Double_t lifetime,
const TString& pType, Double_t width,
Int_t iSpin, Int_t iParity, Int_t iConjugation,
Int_t iIsospin, Int_t iIsospinZ, Int_t gParity,
Int_t lepton, Int_t baryon,
Bool_t stable, Bool_t shortlived = kFALSE,
const TString& subType = "",
Int_t antiEncoding = 0, Double_t magMoment = 0.0,
Double_t excitation = 0.0)
There are 17 hypernuclei in their table and for each only one decay mode is defined.
We wanted to discuss the ways of introducing this (or some different?) approach to CBMROOT.
The first option is to define hypernuclei in CbmUnigenGenerator - either those contained in the current model file or all of them (I suppose that 17 entries would not overload the database).
In this case we would need to put somewhere a table with lifetimes and decay modes (KFParticle uses it's own numbering scheme for hypernuclei).
Personally I'm not sure that CbmUnigenGenerator is the best place for these definitions so another option could be doing it by default along with most trivial particles on CBMROOT level (of FAIRROOT - not sure where it actually happens).
What is your opinion on this account?
May be you can propose other ways of solving the issue.
Thank you in advance!