+
+AliMagF* Event::AssertMagField()
+{
+ if (fgMagField == 0)
+ {
+ if (gEvent && gEvent->fRunLoader && gEvent->fRunLoader->GetAliRun())
+ fgMagField = gEvent->fRunLoader->GetAliRun()->Field();
+ else
+ fgMagField = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
+ }
+ return fgMagField;
+}
+
+TGeoManager* Event::AssertGeometry()
+{
+ static const Exc_t eH("Event::AssertGeometry ");
+
+ if (AliGeomManager::GetGeometry() == 0)
+ {
+ AliGeomManager::LoadGeometry();
+ if ( ! AliGeomManager::GetGeometry())
+ {
+ throw(eH + "can not load geometry.");
+ }
+ if ( ! AliGeomManager::ApplyAlignObjsFromCDB("ITS TPC TRD TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0 VZERO ACORDE"))
+ {
+ ::Warning(eH, "mismatch of alignable volumes. Proceeding.");
+ // throw(eH + "could not apply align objs.");
+ }
+ }
+
+ return AliGeomManager::GetGeometry();
+}