Ignore:
Timestamp:
Jun 23, 2006, 12:35:17 PM (19 years ago)
Author:
ansari
Message:

Ajouts methode GetThetaSliceDataPtr() dans SphericalMap, SphereThetaPhi SphereHEALPix SphereECP pour optimisation calcul transforme Ylm + passage TypeOfMap TETAFI->ECP pour SphereECP , Reza 23/6/2006

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/SkyMap/spherethetaphi.cc

    r2987 r2990  
    192192  NPix_  = a.NPix_;
    193193  Omega_ = a.Omega_;
    194   int k;
     194  int_4 k;
    195195  for (k=0; k< NPix_; k++) pixels_(k) = a.pixels_(k);
    196196  for (k=0; k< a.NPhi_.Size(); k++) NPhi_(k) = a.NPhi_(k);
     
    246246{
    247247  double dphi;
    248   int i,k;
     248  int_4 i,k;
    249249  bool fgzn = false;
    250250
     
    270270void SphereThetaPhi<T>::PixThetaPhi(int_4 k,double& theta,double& phi) const
    271271{
    272   int i;
     272  int_4 i;
    273273  bool fgzn = false;
    274274 
     
    316316void SphereThetaPhi<T>::Limits(int_4 k,double& tetMin,double& tetMax,double& phiMin,double& phiMax)
    317317  {
    318   int j;
     318  int_4 j;
    319319  double dphi;
    320320  bool fgzn= false;
     
    335335 
    336336  // on recupere l'indice i de la tranche qui contient le pixel k
    337   int i;
     337  int_4 i;
    338338  for( i=0; i< NTheta_; i++ )
    339339    if(k < TNphi_(i+1)) break;
     
    378378int_4 SphereThetaPhi<T>::NPhi(int_4 kt) const
    379379{
    380   int nbpix; 
     380  int_4 nbpix; 
    381381  // verification
    382382  if((kt < 0) || (kt >= 2*NTheta_)) return(-1);
     
    455455int_4 SphereThetaPhi<T>::Index(int_4 kt,int_4 jp) const
    456456{
    457   int k;
     457  int_4 k;
    458458  bool fgzn= false;
    459459 
     
    494494 
    495495  // on recupere l'indice kt de la tranche qui contient le pixel k
    496   int i;
     496  int_4 i;
    497497  for(i = 0; i < NTheta_; i++)
    498498    if(k < TNphi_(i+1)) break;
     
    523523//--
    524524{
    525   int ntotpix,j;
     525  int_4 ntotpix,j;
    526526 
    527527  // Decodage et controle des arguments d'appel :
     
    634634   
    635635
    636   int iring= Index(index,0);
    637   int lring  = NPhi(index);
     636  int_4 iring= Index(index,0);
     637  int_4 lring  = NPhi(index);
    638638
    639639  phi.ReSize(lring);
     
    643643  PixThetaPhi(iring,Te,Fi);
    644644  double DFi = DeuxPi/(double)NPhi(index);
    645   for(int kk = 0; kk < lring; kk++)   {
     645  for(int_4 kk = 0; kk < lring; kk++)   {
    646646    value(kk)= pixels_(kk+iring);
    647647    phi(kk)= Fi;
     
    668668    throw RangeCheckError("SphereThetaPhi::GetThetaSlice(idx...)  idx out of range");
    669669
    670   int iring= Index(index,0);
    671   int lring  = NPhi(index);
     670  int_4 iring= Index(index,0);
     671  int_4 lring  = NPhi(index);
    672672
    673673  pixelIndices.ReSize(lring);
     
    675675  double Te= 0.;
    676676  double Fi= 0.;
    677   for(int kk = 0; kk < lring; kk++)  {
     677  for(int_4 kk = 0; kk < lring; kk++)  {
    678678    pixelIndices(kk)=kk+iring ;
    679679    value(kk)= pixels_(kk+iring);
     
    682682}
    683683
    684 
     684//! return a pointer to the specified slice pixel data
     685template <class T>
     686T* SphereThetaPhi<T>::GetThetaSliceDataPtr(int_4 index)
     687{
     688  if(index < 0 || index >= NbThetaSlices())
     689    throw RangeCheckError("SphereThetaPhi::GetThetaSliceDataPtr(idx)  idx out of range");
     690  return pixels_.Begin()+Index(index,0);
     691}
    685692
    686693
     
    694701
    695702  os << "... NPhi_ Values : ";
    696   int i;
     703  int_4 i;
    697704  for(i=0; i < NTheta_; i++)
    698705    {
Note: See TracChangeset for help on using the changeset viewer.