Changeset 846 in Sophya
- Timestamp:
- Apr 10, 2000, 10:36:28 AM (25 years ago)
- Location:
- trunk/SophyaLib/HiStats
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/ntuple.cc
r809 r846 207 207 } 208 208 209 /* --Methode-- */ 210 //++ 211 void NTuple::SetVal(int n, int k, float value) 212 // 213 // initialise la valeur de la variable `k' de l'evenement `n'. 214 //-- 215 { 216 if (n >= mNEnt) return; 217 if ( (k < 0) || (k >= mNVar) ) return; 218 int numb = n/mBlk; 219 int offb = n-numb*mBlk; 220 *(mPtr[numb]+offb*mNVar+k) = value; 221 } 209 222 210 223 /* --Methode-- */ … … 538 551 539 552 540 /* --Methode-- */ 553 /* --Methode-- */ 541 554 //++ 542 555 void ObjFileIO<NTuple>::WriteSelf(POutPersist& s) const … … 602 615 } 603 616 617 604 618 #ifdef __CXX_PRAGMA_TEMPLATES__ 605 619 #pragma define_template ObjFileIO<NTuple> -
trunk/SophyaLib/HiStats/ntuple.h
r763 r846 16 16 #include "ppersist.h" 17 17 #include "dvlist.h" 18 #include "fitsfile.h" 18 19 19 20 namespace SOPHYA { 20 21 21 22 class NTuple : public AnyDataObj , public NTupleInterface { 23 24 friend class FITS_NTuple; 22 25 public: 23 26 // enum {classId = ClassId_NTuple }; … … 77 80 private: 78 81 void Clean(); 82 void SetVal(int n, int k, float value) ; 79 83 80 84 int_4 mNVar, mNEnt, mBlk, mNBlk; … … 100 104 // ObjFileIO<NTuple> 101 105 106 107 102 108 #ifdef __MWERKS__ 103 109 __MSL_FIX_ITERATORS__(r_4*); -
trunk/SophyaLib/HiStats/xntuple.cc
r835 r846 927 927 } 928 928 } 929 ////////////// methodes supplementaires pour leserveur de fichiers fits////// 930 // 931 // (protected) 932 // 933 void XNTuple::SetDVal(int i, int k, double v) 934 { 935 if( i<0 || i>=mNEnt || k<0 || k>=mD ) 936 THROW(rangeCheckErr) ; 937 938 // Bloc ? 939 int blk = (int)(i/mBlkSz) ; 940 int off = i%mBlkSz ; 941 942 // bloc swappe ? 943 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; } 944 ptr[blk]->ddata[off*mD+k]=v ; 945 } 946 void XNTuple::SetFVal(int i, int k, float v) 947 { 948 if( i<0 || i>=mNEnt || k<mD || k>=(mD+mF) ) 949 THROW(rangeCheckErr) ; 950 k -= mD ; 951 952 // Bloc ? 953 int blk = (int)(i/mBlkSz) ; 954 int off = i%mBlkSz ; 955 956 // bloc swappe ? 957 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; } 958 ptr[blk]->fdata[off*mF+k]=v ; 959 } 960 void XNTuple::SetIVal(int i, int k, int v) 961 { 962 if( i<0 || i>=mNEnt || k<(mD+mF) || k>=(mD+mF+mI) ) 963 THROW(rangeCheckErr) ; 964 k -= (mD+mF) ; 965 966 // Bloc ? 967 int blk = (int)(i/mBlkSz) ; 968 int off = i%mBlkSz ; 969 970 // bloc swappe ? 971 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; } 972 973 ptr[blk]->idata[off*mI+k]=v ; 974 } 975 void XNTuple::SetSVal(int i, int k, char* v) 976 { 977 if( i<0 || i>=mNEnt || k<(mD+mF+mI) || k>=(mD+mF+mI+mS) ) 978 THROW(rangeCheckErr) ; 979 k -= (mD+mF+mI) ; 980 981 // Bloc ? 982 int blk = (int)(i/mBlkSz) ; 983 int off = i%mBlkSz ; 984 985 // bloc swappe ? 986 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; } 987 988 // copie de la chaine 989 strncpy(ptr[blk]->sdata + (off*mS+k)*(mStrSz+1),v, mStrSz+1) ; 990 } 991 992 993 994 995 929 996 930 997 #ifdef __CXX_PRAGMA_TEMPLATES__ -
trunk/SophyaLib/HiStats/xntuple.h
r835 r846 20 20 #include "ppersist.h" 21 21 #include "dvlist.h" 22 22 #include "fitsfile.h" 23 23 24 24 … … 105 105 // Pour la gestion de persistance 106 106 friend class ObjFileIO<XNTuple> ; 107 107 friend class FITS_XNTuple; 108 109 108 110 private: 111 112 // pour la persistance sur fichiers fits 113 void SetDVal(int i, int k, double v); 114 void SetFVal(int i, int k, float v); 115 void SetIVal(int i, int k, int v); 116 void SetSVal(int i, int k, char* v); 117 118 109 119 void clean(); // remet tout a zero 110 120 void swap() const ; // swappe le + ancien blk en memoire … … 160 170 // Classe pour la gestion de persistance 161 171 // ObjFileIO<XNTuple> 162 163 172 } // namespace SOPHYA 164 173
Note:
See TracChangeset
for help on using the changeset viewer.