Initialise a tracking medium from the FairRoot media file. Returns the medium index, or creates it via FairGeoBuilder if it does not yet exist in gGeoManager.
20 {
21 static FairGeoLoader* geoLoad = FairGeoLoader::Instance();
22 static FairGeoInterface* geoFace = geoLoad->getGeoInterface();
23 static FairGeoMedia* media = geoFace->getMedia();
24 static FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
25
26 FairGeoMedium* ShipMedium = media->getMedium(name);
27
28 if (!ShipMedium) {
29 Fatal("ShipGeo::InitMedium", "Material %s not defined in media file.",
30 name);
31 return -1111;
32 }
33 TGeoMedium* medium = gGeoManager->GetMedium(name);
34 if (medium != nullptr) return ShipMedium->getMediumIndex();
35
36 return geoBuild->createMedium(ShipMedium);
37}