 if(Salida.fich_Digi.brev || Salida.fich_Imaster.brev || Salida.ficheros.xml){
	 aj_decl_alloc_add(Double,kappas,npasadas);
	 {int3 *ptr=pasadas.ppios;
	 Double *ptr_b=kappas;
	 for(;ptr->n1!=-1;ptr++,ptr_b++){
		 int2 *pcp=pasadas.ccpp+ptr->n1;
		 *ptr_b=0;
		 Double k0=0;
		 uint nk=0;
		 bint bhorz=0;
		 if(fabs(centros[pcp->n1].M[2][2])<=0.707) bhorz=1;
		 do{
			 Double k;
			 Double (*M)[3]=centros[pcp->n1].M;
			 if(bhorz) k=acos(M[1][2]);
			 else k=atan2(-M[0][1],M[0][0]);
			 pcp++;
			 if(k-k0>PI) k-=PI2; else if(k-k0<-PI) k+=PI2;
			 *ptr_b+=k0=k;
			 nk++;
		 }while(pcp->n1!=-1);
		 *ptr_b/=nk;
	 }}
	 Double k0x, k0y, khx, khy;
	 khy=khx=k0y=k0x=PI;
	 {Double *ptr=kappas;
	 int3 *ptr_b=pasadas.ppios;
	 for(;ptr_b->n1!=-1;ptr++,ptr_b++){
		 Double (*M)[3]=centros[pasadas.ccpp[ptr_b->n1].n1].M;
		 Double aux;
		 if(ptr_b->n2==FOTO_EJEX) aux=*ptr;
		 else{aux=*ptr-PI_2; if(aux<-PI) aux+=PI2;}
		 aux=fabs(aux);
		 if(fabs(M[2][2])>0.707){
			 if(ptr_b->n2==FOTO_EJEX){if(aux<k0x) k0x=aux;}
			 else{if(aux<k0y) k0y=aux;}
		 }else{
			  if(ptr_b->n2==FOTO_EJEX){if(aux<khx) khx=aux;}
			 else{if(aux<khy) khy=aux;}
		 }
	 }}
#define PI2_5 1.2566
#define PI3_5 1.885
	 {int3 *pint3=pasadas.ppios;
	 Double *pk=kappas;
	 for(;pint3->n1!=-1;pint3++,pk++){
		 Double k;
		 Double (*M)[3]=centros[pasadas.ccpp[pint3->n1].n1].M;
		 k=*pk;
		 if(pint3->n2!=0) k-=PI_2;
		 if(fabs(M[2][2])>0.707){
			 if(pint3->n2==FOTO_EJEX) k-=k0x;
			 else k-=k0y;
		 }else{
			 if(pint3->n2==FOTO_EJEX) k-=khx;
			 else k-=khy;
		 }
		 modPI2(k);
		 if(k<-PI3_5 || k>PI2_5) pint3->n3=1;
		 else pint3->n3=0;
	 }}
	 Free_remove_s(kappas);
 }else{
	 int3 *ptri=pasadas.ppios;
	 while(ptri->n1!=-1) ptri++ ->n3=0;
 }