void KVINDRA_VAMOS::Build(Int_t run) { // Overrides KVMultiDetArray::Build in order to set the name of the // couple INDRA+VAMOS. Set up the geometry of INDRA and VAMOS, // associate the acquistion parameters with detectors, etc... SetName("INDRA_VAMOS"); SetTitle("INDRA+VAMOS experimental setup"); Info("Build", "Building INDRA+VAMOS ..."); // Build INDRA multidetector cout << endl << setw(20) << "" << "********************************" << endl; cout << setw(20) << "" << "* INDRA *" << endl; cout << setw(20) << "" << "********************************" << endl << endl; KVINDRA* indra = new KVINDRAe503; ((KVINDRAe503*)indra)->SetDataSet(fDataSet); indra->Build(); Add(indra); // Build VAMOS spectrometer cout << endl << setw(20) << "" << "********************************" << endl; cout << setw(20) << "" << "* VAMOS *" << endl; cout << setw(20) << "" << "********************************" << endl << endl; KVVAMOS* vamos = KVVAMOS::MakeVAMOS(fDataSet.Data()); Add(vamos); // Add the lists of ACQ parameters, detectors and ID telescopes of // INDRA and VAMOS to INDRA_VAMOS TIter next_i(indra->GetACQParams()); TIter next_v(vamos->GetACQParams()); TObject* obj; while ((obj = next_i()) || (obj = next_v())) AddACQParam((KVACQParam*)obj); fDetectors.AddAll(indra->GetDetectors()); fDetectors.AddAll(vamos->GetDetectors()); fIDTelescopes->AddAll(indra->GetListOfIDTelescopes()); fIDTelescopes->AddAll(vamos->GetListOfIDTelescopes()); // To be sure that gMultiDetArray points on this object. gMultiDetArray = this; if (run > -1) SetParameters(run); }
blargg_err_t File_Extractor::next_() { tell_++; clear_file(); blargg_err_t err = next_v(); if ( err ) clear_file(); return err; }