Changeset 2827 in Sophya for trunk/SophyaLib/HiStats
- Timestamp:
- Nov 2, 2005, 9:56:25 AM (20 years ago)
- Location:
- trunk/SophyaLib/HiStats
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/basedtable.cc
r2808 r2827 44 44 break; 45 45 case DateField : 46 if (fgl) rs = "Date ";47 else rs = " Date";46 if (fgl) rs = "DateTime"; 47 else rs = "T"; 48 48 break; 49 49 default: … … 156 156 for(sa_size_t k=0; k<mDColsP.size(); k++) 157 157 mDColsP[k]->GetSegment(bid)[off] = data[mDColIdx[k]]; 158 for(sa_size_t k=0; k<mYColsP.size(); k++) 159 mYColsP[k]->GetSegment(bid)[off] = complex<r_4>(data[mYColIdx[k]],0.); 160 for(sa_size_t k=0; k<mZColsP.size(); k++) 161 mZColsP[k]->GetSegment(bid)[off] = complex<r_8>(data[mZColIdx[k]],0.); 158 162 for(sa_size_t k=0; k<mSColsP.size(); k++) 159 163 mSColsP[k]->GetSegment(bid)[off] = (string)MuTyV(data[mSColIdx[k]]); … … 190 194 for(sa_size_t k=0; k<mDColsP.size(); k++) 191 195 mDColsP[k]->GetSegment(bid)[off] = (r_8)data[mDColIdx[k]]; 196 for(sa_size_t k=0; k<mYColsP.size(); k++) 197 mYColsP[k]->GetSegment(bid)[off] = 198 complex<r_4>(data[mYColIdx[k]].GetRealPart(), data[mYColIdx[k]].GetImagPart()); 199 for(sa_size_t k=0; k<mZColsP.size(); k++) 200 mZColsP[k]->GetSegment(bid)[off] = 201 complex<r_8>(data[mZColIdx[k]].GetRealPart(), data[mZColIdx[k]].GetImagPart()); 192 202 193 203 mNEnt++; … … 205 215 for(sa_size_t k=0; k<mDColsP.size(); k++) 206 216 mDColsP[k]->Extend(); 217 for(sa_size_t k=0; k<mYColsP.size(); k++) 218 mYColsP[k]->Extend(); 219 for(sa_size_t k=0; k<mZColsP.size(); k++) 220 mZColsP[k]->Extend(); 207 221 for(sa_size_t k=0; k<mSColsP.size(); k++) 208 222 mSColsP[k]->Extend(); … … 228 242 for(sa_size_t k=0; k<mDColsP.size(); k++) 229 243 mVarMTV[mDColIdx[k]] = mDColsP[k]->GetCstSegment(bid)[off]; 244 for(sa_size_t k=0; k<mYColsP.size(); k++) 245 mVarMTV[mYColIdx[k]] = mYColsP[k]->GetCstSegment(bid)[off]; 246 for(sa_size_t k=0; k<mZColsP.size(); k++) 247 mVarMTV[mZColIdx[k]] = mZColsP[k]->GetCstSegment(bid)[off]; 230 248 for(sa_size_t k=0; k<mSColsP.size(); k++) 231 249 mVarMTV[mSColIdx[k]] = atof(mSColsP[k]->GetCstSegment(bid)[off].c_str()); … … 336 354 for(sa_size_t k=0; k<mDColsP.size(); k++) 337 355 mVarD[mDColIdx[k]] = mDColsP[k]->GetCstSegment(bid)[off]; 356 for(sa_size_t k=0; k<mYColsP.size(); k++) 357 mVarD[mYColIdx[k]] = mYColsP[k]->GetCstSegment(bid)[off].real(); 358 for(sa_size_t k=0; k<mZColsP.size(); k++) 359 mVarD[mZColIdx[k]] = mZColsP[k]->GetCstSegment(bid)[off].real(); 338 360 for(sa_size_t k=0; k<mSColsP.size(); k++) 339 361 mVarD[mSColIdx[k]] = atof(mSColsP[k]->GetCstSegment(bid)[off].c_str()); … … 366 388 break; 367 389 case DoubleField : 368 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 390 case DateField : 391 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 392 break; 393 case ComplexField : 394 rv = mYColsP[sk]->GetCstSegment(bid)[off].real(); 395 break; 396 case DoubleComplexField : 397 rv = mZColsP[sk]->GetCstSegment(bid)[off].real(); 369 398 break; 370 399 case StringField : … … 407 436 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 408 437 break; 438 case ComplexField : 439 rv = mYColsP[sk]->GetCstSegment(bid)[off]; 440 break; 441 case DoubleComplexField : 442 rv = mZColsP[sk]->GetCstSegment(bid)[off]; 443 break; 409 444 case StringField : 410 445 rv = mSColsP[sk]->GetCstSegment(bid)[off]; … … 482 517 if (sp[n] > max) max = sp[n]; 483 518 if (sp[n] < min) min = sp[n]; 519 cnt++; 520 } 521 } 522 break; 523 case ComplexField : 524 for(size_t is=0; is<mYColsP[sk]->NbSegments(); is++) { 525 const complex<r_4> * sp = mYColsP[sk]->GetCstSegment(is); 526 for(size_t n=0; n<mYColsP[sk]->SegmentSize(); n++) { 527 if (cnt >= NEntry()) break; 528 if (sp[n].real() > max) max = sp[n].real(); 529 if (sp[n].real() < min) min = sp[n].real(); 530 cnt++; 531 } 532 } 533 break; 534 case DoubleComplexField : 535 for(size_t is=0; is<mZColsP[sk]->NbSegments(); is++) { 536 const complex<r_8> * sp = mZColsP[sk]->GetCstSegment(is); 537 for(size_t n=0; n<mZColsP[sk]->SegmentSize(); n++) { 538 if (cnt >= NEntry()) break; 539 if (sp[n].real() > max) max = sp[n].real(); 540 if (sp[n].real() < min) min = sp[n].real(); 484 541 cnt++; 485 542 } … … 583 640 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 584 641 break; 642 case ComplexField : 643 rv = mYColsP[sk]->GetCstSegment(bid)[off]; 644 break; 645 case DoubleComplexField : 646 rv = mZColsP[sk]->GetCstSegment(bid)[off]; 647 break; 585 648 case StringField : 586 649 rv = mSColsP[sk]->GetCstSegment(bid)[off]; -
trunk/SophyaLib/HiStats/basedtable.h
r2822 r2827 12 12 #include <string> 13 13 #include <vector> 14 15 #include <complex> 14 16 15 17 #include "ntupintf.h" … … 62 64 inline sa_size_t AddDoubleColumn(string const & cnom) 63 65 { return AddColumn(DoubleField, cnom); } 66 //! Adds a column holding single precision complex values (complex<r_4>), named \b cnom 67 inline sa_size_t AddComplexColumn(const char * cnom) 68 { return AddColumn(ComplexField, cnom); } 69 //! Adds a column holding single precision complex values (complex<r_4>), named \b cnom 70 inline sa_size_t AddComplexColumn(string const & cnom) 71 { return AddColumn(ComplexField, cnom); } 72 //! Adds a column holding double precision complex values (complex<r_8>), named \b cnom 73 inline sa_size_t AddDoubleComplexColumn(const char * cnom) 74 { return AddColumn(DoubleComplexField, cnom); } 75 //! Adds a column holding double precision complex values (complex<r_8>), named \b cnom 76 inline sa_size_t AddDoubleComplexColumn(string const & cnom) 77 { return AddColumn(DoubleComplexField, cnom); } 64 78 //! Adds a column holding character strings, named \b cnom 65 79 inline sa_size_t AddStringColumn(const char * cnom) … … 199 213 std::vector< SegDBInterface<r_8> * > mDColsP; 200 214 std::vector< sa_size_t > mDColIdx; 215 std::vector< SegDBInterface< complex<r_4> > * > mYColsP; 216 std::vector< sa_size_t > mYColIdx; 217 std::vector< SegDBInterface< complex<r_8> > * > mZColsP; 218 std::vector< sa_size_t > mZColIdx; 201 219 std::vector< SegDBInterface<string> * > mSColsP; 202 220 std::vector< sa_size_t > mSColIdx; -
trunk/SophyaLib/HiStats/datatable.cc
r2808 r2827 81 81 mDCols[sk].Share(a.mDCols[ska]); 82 82 break; 83 case ComplexField : 84 mYCols[sk].Share(a.mYCols[ska]); 85 break; 86 case DoubleComplexField : 87 mZCols[sk].Share(a.mZCols[ska]); 88 break; 83 89 case StringField : 84 90 mSCols[sk].Share(a.mSCols[ska]); … … 112 118 case DoubleField : 113 119 mDCols[sk].Clone(a.mDCols[ska], true); 120 break; 121 case ComplexField : 122 mYCols[sk].Clone(a.mYCols[ska], true); 123 break; 124 case DoubleComplexField : 125 mZCols[sk].Clone(a.mZCols[ska], true); 114 126 break; 115 127 case StringField : … … 142 154 mFColsP.clear(); 143 155 mDColsP.clear(); 156 mYColsP.clear(); 157 mZColsP.clear(); 144 158 mSColsP.clear(); 145 159 … … 148 162 mFColIdx.clear(); 149 163 mDColIdx.clear(); 164 mYColIdx.clear(); 165 mZColIdx.clear(); 150 166 mSColIdx.clear(); 151 167 … … 154 170 mFCols.clear(); 155 171 mDCols.clear(); 172 mYCols.clear(); 173 mZCols.clear(); 156 174 mSCols.clear(); 157 175 } … … 203 221 mDColsP[kk] = &(mDCols[kk]); 204 222 break; 223 case ComplexField : 224 ser = mYCols.size(); 225 mYCols.push_back(SegDataBlock< complex<r_4> >(mSegSz)); 226 mYColIdx.push_back(idx); 227 mYColsP.push_back(NULL); 228 for(sa_size_t kk=0; kk<mYCols.size(); kk++) 229 mYColsP[kk] = &(mYCols[kk]); 230 break; 231 case DoubleComplexField : 232 ser = mZCols.size(); 233 mZCols.push_back(SegDataBlock< complex<r_8> >(mSegSz)); 234 mZColIdx.push_back(idx); 235 mZColsP.push_back(NULL); 236 for(sa_size_t kk=0; kk<mZCols.size(); kk++) 237 mZColsP[kk] = &(mZCols[kk]); 238 break; 205 239 case StringField : 206 240 ser = mDCols.size(); -
trunk/SophyaLib/HiStats/datatable.h
r2822 r2827 47 47 std::vector< SegDataBlock<r_4> > mFCols; 48 48 std::vector< SegDataBlock<r_8> > mDCols; 49 std::vector< SegDataBlock< complex<r_4> > > mYCols; 50 std::vector< SegDataBlock< complex<r_8> > > mZCols; 49 51 std::vector< SegDataBlock<string> > mSCols; 50 52 }; -
trunk/SophyaLib/HiStats/fio_dtable.cc
r2700 r2827 84 84 s << dt->mDCols[sk]; 85 85 break; 86 case BaseDataTable::ComplexField : 87 s << dt->mYCols[sk]; 88 break; 89 case BaseDataTable::DoubleComplexField : 90 s << dt->mZCols[sk]; 91 break; 86 92 case BaseDataTable::StringField : 87 93 s << dt->mSCols[sk]; … … 109 115 case BaseDataTable::DoubleField : 110 116 s.PutPosTagTable(swdt->mDCols[sk].GetSwapPosTagTable()); 117 break; 118 case BaseDataTable::ComplexField : 119 s.PutPosTagTable(swdt->mYCols[sk].GetSwapPosTagTable()); 120 break; 121 case BaseDataTable::DoubleComplexField : 122 s.PutPosTagTable(swdt->mZCols[sk].GetSwapPosTagTable()); 111 123 break; 112 124 case BaseDataTable::StringField : … … 206 218 s >> dt->mDCols[sk]; 207 219 break; 220 case BaseDataTable::ComplexField : 221 s >> dt->mYCols[sk]; 222 break; 223 case BaseDataTable::DoubleComplexField : 224 s >> dt->mZCols[sk]; 225 break; 208 226 case BaseDataTable::StringField : 209 227 s >> dt->mSCols[sk]; … … 241 259 swdt->mDCols[sk] = SwSegDataBlock<r_8>(swdt->mDSwapper, swpos, swdt->SegmentSize()); 242 260 break; 261 case BaseDataTable::ComplexField : 262 swpos.clear(); 263 s.GetPosTagTable(swpos); 264 swdt->mYCols[sk] = SwSegDataBlock< complex<r_4> >(swdt->mYSwapper, swpos, swdt->SegmentSize()); 265 break; 266 case BaseDataTable::DoubleComplexField : 267 swpos.clear(); 268 s.GetPosTagTable(swpos); 269 swdt->mZCols[sk] = SwSegDataBlock< complex<r_8> >(swdt->mZSwapper, swpos, swdt->SegmentSize()); 270 break; 243 271 case BaseDataTable::StringField : 244 272 swpos.clear(); -
trunk/SophyaLib/HiStats/swppfdtable.cc
r2808 r2827 74 74 : BaseDataTable(segsz) , 75 75 mSwOut(&os), mSwIn(NULL), 76 mISwapper(os), mLSwapper(os), mFSwapper(os), mDSwapper(os), mSSwapper(os) 76 mISwapper(os), mLSwapper(os), mFSwapper(os), mDSwapper(os), 77 mYSwapper(os), mZSwapper(os), mSSwapper(os) 77 78 { 78 79 } … … 89 90 mFSwapper.SetInStream(*pis); 90 91 mDSwapper.SetInStream(*pis); 92 mYSwapper.SetInStream(*pis); 93 mZSwapper.SetInStream(*pis); 91 94 mDSwapper.SetInStream(*pis); 92 95 } … … 119 122 mFSwapper = a.mFSwapper; 120 123 mDSwapper = a.mDSwapper; 124 mYSwapper = a.mYSwapper; 125 mZSwapper = a.mZSwapper; 121 126 mSSwapper = a.mSSwapper; 122 127 … … 160 165 mDCols[sk] = a.mDCols[ska]; 161 166 break; 167 case ComplexField : 168 mYCols[sk] = a.mYCols[ska]; 169 break; 170 case DoubleComplexField : 171 mZCols[sk] = a.mZCols[ska]; 172 break; 162 173 case StringField : 163 174 mSCols[sk] = a.mSCols[ska]; … … 186 197 case DoubleField : 187 198 mDCols[sk].SwapOutBuffer(); 199 break; 200 case ComplexField : 201 mYCols[sk].SwapOutBuffer(); 202 break; 203 case DoubleComplexField : 204 mZCols[sk].SwapOutBuffer(); 188 205 break; 189 206 case StringField : … … 216 233 mFColsP.clear(); 217 234 mDColsP.clear(); 235 mYColsP.clear(); 236 mZColsP.clear(); 218 237 mSColsP.clear(); 219 238 … … 222 241 mFColIdx.clear(); 223 242 mDColIdx.clear(); 243 mYColIdx.clear(); 244 mZColIdx.clear(); 224 245 mSColIdx.clear(); 225 246 … … 228 249 mFCols.clear(); 229 250 mDCols.clear(); 251 mYCols.clear(); 252 mZCols.clear(); 230 253 mSCols.clear(); 231 254 } … … 277 300 mDColsP[kk] = &(mDCols[kk]); 278 301 break; 302 case ComplexField : 303 ser = mYCols.size(); 304 mYCols.push_back(SwSegDataBlock< complex<r_4> >(mYSwapper, mSegSz)); 305 mYColIdx.push_back(idx); 306 mYColsP.push_back(NULL); 307 for(sa_size_t kk=0; kk<mYCols.size(); kk++) 308 mYColsP[kk] = &(mYCols[kk]); 309 break; 310 case DoubleComplexField : 311 ser = mZCols.size(); 312 mZCols.push_back(SwSegDataBlock< complex<r_8> >(mZSwapper, mSegSz)); 313 mZColIdx.push_back(idx); 314 mZColsP.push_back(NULL); 315 for(sa_size_t kk=0; kk<mZCols.size(); kk++) 316 mZColsP[kk] = &(mZCols[kk]); 317 break; 279 318 case StringField : 280 319 ser = mDCols.size(); -
trunk/SophyaLib/HiStats/swppfdtable.h
r2808 r2827 56 56 std::vector< SwSegDataBlock<r_8> > mDCols; 57 57 PPFDataSwapper<r_8> mDSwapper; 58 std::vector< SwSegDataBlock< complex<r_4> > > mYCols; 59 PPFDataSwapper< complex<r_4> > mYSwapper; 60 std::vector< SwSegDataBlock< complex<r_8> > > mZCols; 61 PPFDataSwapper< complex<r_8> > mZSwapper; 58 62 std::vector< SwSegDataBlock<string> > mSCols; 59 63 PPFDataSwapper<string> mSSwapper;
Note:
See TracChangeset
for help on using the changeset viewer.