Changeset 3365 in Sophya for trunk/Cosmo/SimLSS/geneutils.cc


Ignore:
Timestamp:
Oct 29, 2007, 7:21:41 PM (18 years ago)
Author:
cmv
Message:

1./ grosses modifs de structure pour cmvdefsurv.cc
2./ PoissRandLimit enleve de geneutils.{h,cc} et mis dans srandgen.{h,cc}

cmv 29/10/2007

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/geneutils.cc

    r3330 r3365  
    278278//               dtheta in [0,Pi]
    279279// Return: l'angle solide en steradian
    280 // Approx pour theta petit: PI theta^2
     280// Approx pour theta petit: PI * theta^2
    281281{
    282282  return   2.*M_PI * (1.-cos(dtheta));
    283283}
    284284
    285 //-------------------------------------------------------------------
    286 unsigned long PoissRandLimit(double mu,double mumax)
    287 {
    288   double pp,ppi,x;
    289   unsigned long n;
    290 
    291   if(mu>=mumax) {
    292     pp = sqrt(mu);
    293     while( (x=pp*NorRand()) < -mu );
    294     return (unsigned long)(mu+x+0.5);
    295   }
    296 
    297   ppi = pp = exp(-mu);
    298   x = drand01();
    299   n = 0;
    300   while (x > ppi) {
    301     n++;
    302     pp = mu*pp/(double)n;
    303     ppi += pp;
    304   }
    305   return n;
     285double FrAngSol(double angsol)
     286// Retourne la demi-ouverture "dtheta" d'une calotte spherique d'angle solide "angsol"
     287// Input: angle solide de la calotte spherique en steradians
     288// Return: demi-ouverture de la calotte spherique en radians
     289{
     290  angsol = 1. - angsol/(2.*M_PI);
     291  if(angsol<-1. || angsol>1.) return -1.;
     292  return acos(angsol);
    306293}
    307294
Note: See TracChangeset for help on using the changeset viewer.