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);
}
Exemple #2
0
blargg_err_t File_Extractor::next_()
{
	tell_++;
	clear_file();
	
	blargg_err_t err = next_v();
	if ( err )
		clear_file();
	
	return err;
}