Пример #1
0
Bool_t KVSimReader_SMF_asym::ReadNucleus(){
	
	Int_t res = ReadLineAndCheck(5," ");
	switch (res){
	case 0:
		Info("ReadNucleus","case 0 line est vide"); 
		return kFALSE; 
	
	case 1:
		nuc->SetZ(GetIntReadPar(1));
		nuc->SetA(GetIntReadPar(0));
		
		//Axe "faisceau dans SMF z"
		nuc->SetPx(GetDoubleReadPar(2));
		nuc->SetPy(GetDoubleReadPar(3));
		nuc->SetPz(GetDoubleReadPar(4));
		
		return kTRUE;
	
	default:
		
		return kFALSE;	
	}

}
Пример #2
0
Bool_t KVSimReader_ELIE::ReadNucleus()
{
   // Particles are given as:
   // 0 11 24.0 57.4156777729 306.493830835 107.248038513
   // # Z  A     theta(deg)      phi(deg)    energy(MeV)
   
	Int_t res = ReadLineAndCheck(6," ");
	switch (res){
	case 0:
		Info("ReadNucleus","case 0 line est vide"); 
		return kFALSE; 
	
	case 1:
		nuc->SetZ((int)GetDoubleReadPar(1));
		nuc->SetA((int)GetDoubleReadPar(2));
		nuc->SetEnergy(GetDoubleReadPar(5));
		nuc->SetTheta(GetDoubleReadPar(3));
		nuc->SetPhi(GetDoubleReadPar(4));
		return kTRUE;	
		break;

	default:
		return kFALSE;	
	}

	return kFALSE;	
}
Пример #3
0
Bool_t KVSimReader_MMM_asym::ReadNucleus(){

	Int_t aa = GetIntReadPar(idx++);
	nuc->SetZ(GetIntReadPar(idx++));
	nuc->SetA(aa);
	nuc->SetPx(GetDoubleReadPar(idx++));
	nuc->SetPy(GetDoubleReadPar(idx++));
	nuc->SetPz(GetDoubleReadPar(idx++));
	
	return kTRUE;

}
Пример #4
0
Bool_t KVSimReader_ELIE::ReadEvent()
{
   // Events begin with event number, multiplicity and (?) impact parameter,
   // followed by list of particles:
   // 0 61 0
   // 0 11 24.0 57.4156777729 306.493830835 107.248038513
   // 1 2 3.0 44.7736647511 50.6065561553 127.526000603
   // 2 7 15.0 57.7807658304 121.672537111 55.9601768553
   // 3 9 19.0 35.5421741719 70.5034488937 236.567079783
   // etc.

	evt->Clear();

	Int_t res = ReadLineAndCheck(3," ");
   Int_t mult=0;
	switch (res){
	case 0:
		Info("ReadEvent","case 0 line est vide"); 
		return kFALSE; 
	case 1:
		evt->SetNumber(GetIntReadPar(0));
      mult=GetIntReadPar(1);
		evt->GetParameters()->SetValue("b",GetDoubleReadPar(2));
		evt->GetParameters()->SetValue("mult",mult);
		break;
	default:		
		return kFALSE;	
	}
	for (Int_t mm=0; mm<mult; mm++){	
		nuc = (KVSimNucleus* )evt->AddParticle();
		if (!ReadNucleus()) return kFALSE;
	}
   nevt++;
	return kTRUE;	
}
Пример #5
0
Bool_t KVSimReader_ELIE::ReadHeader()
{
	// File header contains info on colliding nuclei
   // and number of simulated events:
   //
   // 54 129 50 119 32
   // 20000
   //
   // for 20000 events of 129Xe+119Sn@32MeV/nucleon
   
	Int_t res = ReadLineAndCheck(5," ");
	switch (res){
	case 0:
      Info("ReadHeader", "Can't read system");
		return kFALSE; 
	case 1:
		AddInfo("Aproj",GetReadPar(1));
		AddInfo("Zproj",GetReadPar(0));
		AddInfo("Atarg",GetReadPar(3));
		AddInfo("Ztarg",GetReadPar(2));
		AddInfo("Ebeam",GetReadPar(4));
      proj.SetZAandE(GetIntReadPar(0),GetIntReadPar(1),GetIntReadPar(1)*GetDoubleReadPar(4));
      targ.SetZandA(GetIntReadPar(2),GetIntReadPar(3));
      ebeam=GetDoubleReadPar(4);
		break;
	default:
		return kFALSE;	
	}
	
	res = ReadLineAndCheck(1," ");
	switch (res){
	case 0:
      Info("ReadHeader", "Can't read events");
		return kFALSE; 
	case 1:
		AddInfo("Nevents", GetReadPar(0));
      return kTRUE;
      
	default:
		return kFALSE;	
	}

	return kFALSE;	
}
Пример #6
0
Bool_t KVSimReader_MMM::ReadEvent()
{

   evt->Clear();
   Int_t mult = 0, natt = 0;

   ReadLine(" ");

   Int_t res = GetNparRead();
   switch (res) {
      case 0:
         Info("ReadEvent", "case 0 line est vide");
         return kFALSE;
      default:
         idx = 0;
         mult = GetIntReadPar(idx++);
         natt = 6 * mult + 4 + 1;
         if (natt != res) {
            Info("ReadEvent", "Nombre de parametres (%d) different de celui attendu (%d)", res, natt);
            return kFALSE;
         }
         evt->GetParameters()->SetValue("Eth", GetDoubleReadPar(idx++));
         evt->GetParameters()->SetValue("Eclb", GetDoubleReadPar(idx++));
         evt->GetParameters()->SetValue("Eexci", GetDoubleReadPar(idx++));
         evt->GetParameters()->SetValue("Ebind", GetDoubleReadPar(idx++));

         for (Int_t mm = 0; mm < mult; mm += 1) {
            nuc = (KVSimNucleus*)evt->AddParticle();
            ReadNucleus();
         }

         evt->SetNumber(nevt);
         nevt += 1;
         return kTRUE;
   }

}