- gMC->Medium(kmed,name, (*fIdmate)[nmat], isvol, ifield, fieldm,
- tmaxfd, stemax, deemax, epsil, stmin, ubuf, nbuf);
- (*fIdtmed)[numed]=kmed;
+ //Build the string uniquename as "DET_mediumname"
+ TString uniquename = GetName();
+ uniquename.Append("_");
+ uniquename.Append(name);
+ //if geometry loaded from file only fill fIdtmed, else create medium too
+ if(gAlice->IsRootGeometry()){
+ TGeoMedium *med = gGeoManager->GetMedium(uniquename.Data());
+ kmed = med->GetId();
+ (*fIdtmed)[numed]=kmed;
+ }else{
+ gMC->Medium(kmed, uniquename.Data(), (*fIdmate)[nmat], isvol, ifield,
+ fieldm, tmaxfd, stemax, deemax, epsil, stmin, ubuf, nbuf);
+ (*fIdtmed)[numed]=kmed;
+ }