// implementation #include "PndOnlineGeometryManager.h" #include "FairRunAna.h" #include "PndGeoSttPar.h" #include "PndSttMapCreator.h" #include "FairParRootFileIo.h" #include "FairRuntimeDb.h" bool PndOnlineGeometryManager::LoadRTDB() { if(rtdb==NULL) return false; if(parFileName.Length()) return false; //FairRuntimeDb* rtdb = fRun->GetRuntimeDb(); FairParRootFileIo* parInput1 = new FairParRootFileIo(); parInput1->open(parFileName.Data()); rtdb->setFirstInput(parInput1); return true; } bool PndOnlineGeometryManager::LoadGeometry(int detector_id) { cerr << "In PndOnlineGeometryManager::LoadGeometry()..." << endl; // check to make sure we've loaded it already // DO THIS cerr << " Loading detector with ID #" << detector_id << endl; switch(detector_id) { case PndOnline::kSTT: return LoadSTTGeom(); }; return false; } bool PndOnlineGeometryManager::LoadSTTGeom() { cerr << " In PndOnlineGeometryManager::LoadSTTGeom()..." << endl; /** if(rtdb == NULL) return false; // load geometry parameters PndGeoSttPar* fSttParameters = (PndGeoSttPar*) rtdb->getContainer("PndGeoSttPar"); **/ if(parFileName.Length() == 0) return false; TFile parFile(parFileName.Data()); PndGeoSttPar* fSttParameters = (PndGeoSttPar*)parFile.Get("PndGeoSttPar"); PndSttMapCreator* mapper = new PndSttMapCreator(fSttParameters); //sttTubeArray = mapper->FillTubeArray(); detector_geometries[PndOnline::kSTT] = mapper->FillTubeArray(); cerr << "Pointers!" << endl; cerr << fSttParameters << " "; cerr << mapper << " "; cerr << detector_geometries[PndOnline::kSTT] << endl; cerr << " number of STT tubes = " << mapper->FillTubeArray()->GetEntriesFast() << endl; // Does this need to be kept around? // delete mapper; return true; } ClassImp(PndOnlineGeometryManager)