Changeset 473 in Sophya for trunk/SophyaLib/Samba/localmap.h
- Timestamp:
- Oct 18, 1999, 4:37:44 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/Samba/localmap.h
r470 r473 42 42 43 43 LocalMap(); 44 LocalMap(int _4 nx, int_4ny);44 LocalMap(int nx, int ny); 45 45 LocalMap(const LocalMap<T>& lm); 46 46 virtual ~LocalMap(); … … 48 48 // ---------- Overloading of () to access pixel number k ---- 49 49 50 inline T& operator()(int _4k) {return(PixVal(k));}51 inline T const& operator()(int _4k) const {return(PixVal(k));}50 inline T& operator()(int k) {return(PixVal(k));} 51 inline T const& operator()(int k) const {return(PixVal(k));} 52 52 inline T& operator()(int ix, int iy) {return PixVal(iy*nSzX_+ix);}; 53 53 inline T const& operator()(int ix, int iy) const {return PixVal(iy*nSzX_+ix);}; … … 56 56 57 57 /* return/set the number of pixels */ 58 virtual int _4NbPixels() const;59 inline void setNbPixels(int _4n) {nPix_= n;}58 virtual int NbPixels() const; 59 inline void setNbPixels(int n) {nPix_= n;} 60 60 61 61 /* return the value of pixel number k */ 62 virtual T& PixVal(int _4k);63 virtual T const& PixVal(int _4k) const;62 virtual T& PixVal(int k); 63 virtual T const& PixVal(int k) const; 64 64 65 65 /* return the index of pixel at (theta,phi) */ 66 virtual int _4 PixIndexSph(float theta, floatphi) const;66 virtual int PixIndexSph(double theta,double phi) const; 67 67 68 68 /* return the spherical coordinates of center of pixel number k */ 69 virtual void PixThetaPhi(int _4 k, float& theta, float& phi) const;69 virtual void PixThetaPhi(int k,double& theta,double& phi) const; 70 70 71 71 /* return the Pixel Solid angle (steradians) */ 72 virtual r_8 PixSolAngle(int_4k) const;72 virtual double PixSolAngle(int k) const; 73 73 74 74 // ---------- Specific methods ------------------------------ 75 75 76 void ReSize(int _4 nx, int_4ny);76 void ReSize(int nx, int ny); 77 77 78 78 inline virtual char* TypeOfMap() const {return "LOCAL";}; 79 79 80 80 /* Origin (with angle between x axis and phi axis, in degrees) x0,y0 the default: middle of map*/ 81 virtual void SetOrigin( float theta=90., float phi=0., floatangle=0.);82 virtual void SetOrigin( float theta,float phi,int_4 x0,int_4 y0,floatangle=0.);81 virtual void SetOrigin(double theta=90.,double phi=0.,double angle=0.); 82 virtual void SetOrigin(double theta,double phi,int x0,int y0,double angle=0.); 83 83 84 84 /* Pixel size (degres) */ 85 virtual void SetSize( float angleX, floatangleY);85 virtual void SetSize(double angleX,double angleY); 86 86 87 87 /* Check to see if the local mapping is done */ … … 95 95 96 96 /* provides a integer characterizing the pixelization refinement (here : number of pixels) */ 97 inline virtual int _4SizeIndex() const {return(nPix_);}98 inline int _4Size_x() const {return nSzX_;}99 inline void setSize_x(int _4n) {nSzX_= n;}100 inline int _4Size_y() const {return nSzY_;}101 inline void setSize_y(int _4n) {nSzY_= n;}97 inline virtual int SizeIndex() const {return(nPix_);} 98 inline int Size_x() const {return nSzX_;} 99 inline void setSize_x(int n) {nSzX_= n;} 100 inline int Size_y() const {return nSzY_;} 101 inline void setSize_y(int n) {nSzY_= n;} 102 102 103 inline void Origin( float& theta, float& phi,int& x0, int& y0, float& angle) const {theta= (float)theta0_; phi= (float)phi0_; x0= x0_; y0= y0_;angle= (float)angle_;}103 inline void Origin(double& theta,double& phi,int& x0,int& y0,double& angle) const {theta= theta0_; phi= phi0_; x0= x0_; y0= y0_;angle= angle_;} 104 104 105 inline void Aperture( float& anglex, float& angley) const {anglex= (float)angleX_; angley= (float)angleY_;}105 inline void Aperture(double& anglex,double& angley) const {anglex= angleX_; angley= angleY_;} 106 106 107 107 /* retourne le pointeur vers/remplit le vecteur des contenus des pixels */ 108 108 inline const NDataBlock<T>* getDataBlock() const {return (&pixels_);} 109 inline void setDataBlock(T* data, int _4n) {pixels_.FillFrom(n,data);}109 inline void setDataBlock(T* data, int n) {pixels_.FillFrom(n,data);} 110 110 111 111 /* impression */ … … 117 117 118 118 void InitNul(); 119 void Getij(int k, int& i,int& j) const;120 void ReferenceToUser( float &theta, float &phi) const;121 void UserToReference( float &theta, float &phi) const;122 void PixProjToAngle( float x, float y,float &theta, float &phi) const;123 void AngleProjToPix( float theta, float phi, float& x, float& y) const;119 void Getij(int k,int& i,int& j) const; 120 void ReferenceToUser(double& theta,double& phi) const; 121 void UserToReference(double& theta,double& phi) const; 122 void PixProjToAngle(double x,double y,double& theta,double& phi) const; 123 void AngleProjToPix(double theta,double phi,double& x,double& y) const; 124 124 125 125 // ---------- Variables internes ---------------------------- 126 126 127 int _4nSzX_;128 int _4nSzY_;129 int _4nPix_;127 int nSzX_; 128 int nSzY_; 129 int nPix_; 130 130 bool originFlag_; 131 131 bool extensFlag_; 132 int _4x0_;133 int _4y0_;134 r_8theta0_;135 r_8phi0_;136 r_8angle_;137 r_4cos_angle_;138 r_4sin_angle_;139 r_8angleX_;140 r_8angleY_;141 r_8tgAngleX_;142 r_8tgAngleY_;132 int x0_; 133 int y0_; 134 double theta0_; 135 double phi0_; 136 double angle_; 137 double cos_angle_; 138 double sin_angle_; 139 double angleX_; 140 double angleY_; 141 double tgAngleX_; 142 double tgAngleY_; 143 143 NDataBlock<T> pixels_; 144 144 };
Note:
See TracChangeset
for help on using the changeset viewer.