BIE |
/home/weinberg/src/BIE/PopModel/PopModelCacheSF.h00001 // This is really -*- C++ -*- 00002 00003 00004 #ifndef PopModelCacheSF_h 00005 #define PopModelCacheSF_h 00006 00007 #include "Serializable.h" 00008 00009 00010 #include "hash_map.h" 00011 #include <utility> 00012 #include <list> 00013 using namespace std; 00014 00015 #include <gaussQ.h> 00016 #include <Model.h> 00017 #include <Histogram1D.h> 00018 #include <BIEconfig.h> 00019 00020 #include <PopulationsApp.h> 00021 #include <coord.h> 00022 #include <map> 00023 00024 namespace BIE { 00025 00026 typedef vector<double> dvector; 00027 typedef vector<real> rvector; 00028 00029 class PopCacheSF; 00030 00031 typedef hashers<coordPair, PopCacheSF*, hash<coordPair>, eqcoord>::MapType mmapSF; 00032 typedef list<PopCacheSF*> CacheListSF; 00033 00034 //+ CLICLASS PopModelCacheSF SUPER Model 00049 class PopModelCacheSF : public Model 00050 { 00051 public: 00052 00053 //+ CLICONSTR int int int SampleDistribution* PopulationsApp* string 00055 PopModelCacheSF(int ndim, int mdim, int num, 00056 SampleDistribution *histo, PopulationsApp *Pop, 00057 string basisfile ); 00058 00060 ~PopModelCacheSF(); 00061 00062 //+ CLIMETHOD void SetLineOfSight double double bool 00064 void SetLineOfSight(double rmin, double rmax, bool rlog) 00065 { 00066 RMIN = rmin; 00067 RMAX = rmax; 00068 RLOG = rlog; 00069 } 00070 00071 //+ CLIMETHOD void UseVectorCache 00073 void UseVectorCache() 00074 { 00075 use_vector = true; 00076 } 00077 00078 //+ CLIMETHOD void UseHashCache 00080 void UseHashCache() 00081 { 00082 use_vector = false; 00083 } 00084 00085 //+ CLIMETHOD void SetMagNorm double double 00090 void SetMagNorm(double x, double y) 00091 { 00092 mnorm = x * pow(M_PI/(180.0*60.0*60.0), 2.0); 00093 mback = y; 00094 mm_use = true; 00095 } 00096 00097 //+ CLIMETHOD double GetEMag0 00099 double GetEMag0() 00100 { 00101 return m0flux; 00102 } 00103 00104 //+ CLIMETHOD double GetEMag1 00106 double GetEMag1() 00107 { 00108 return m1flux; 00109 } 00110 00111 //+ CLIMETHOD double GetEMag2 00113 double GetEMag2() 00114 { 00115 return m2flux; 00116 } 00117 00119 00120 00121 void Initialize(State&); 00123 void Initialize(vector<double>& w, vector<double>*& p); 00125 00127 void ResetCache() {} 00128 00130 virtual double NormEval(double x, double y, SampleDistribution *d); 00131 00133 virtual vector<double> Evaluate(double x, double y, SampleDistribution *d); 00134 00136 string ParameterDescription(int i); 00137 00139 int DataDimension() { return Nflux; } 00140 00142 void PrintCache(); 00143 00144 //+ METHOD void SetExtinctionFactor double 00146 void SetExtinctionFactor(double efac) { EFAC = efac; } 00147 00150 00152 static double METAL; 00153 00158 00159 static double ALPHA; 00161 static double BETA; 00163 00165 static double R0; 00166 00168 static double A1; 00169 00171 static double Z1; 00172 00174 static double Z0; 00175 00177 static double EFAC; 00178 00180 static double EMAX; 00181 00183 00184 00185 static bool DELTA; 00187 static double RT0; 00189 static double DRT0; 00191 00193 static int NEBV; 00194 00196 00197 00198 static bool RING; 00200 static double RINGWIDTH; 00202 static double RINGAMP; 00204 static double RINGLOC; 00206 static double CENTERWIDTH; 00208 static double CENTERAMP; 00210 static double NEARBYWIDTH; 00212 static double NEARBYAMP; 00214 00216 static bool RLOG; 00217 00219 static double RMIN; 00220 00222 static double RMAX; 00223 00225 00226 00227 static double AMIN; // Defaults: 0.2 00229 static double AMAX; // 8.0 00231 static double HMIN; // 50.0 00233 static double HMAX; // 1200.0 00235 00237 static BirthRate BRmodel; // Default: Exponential 00238 00240 static double BURST; // Defaults: 0.0 00241 00243 static double NU; // Defaults: 1.0 00244 00246 static string DataDir; // Defaults: "/proj/weinberg/3Mtab"; 00247 00249 static double zerotol; // Defaults: 1.0e-12 00250 00252 static bool use_vector; // Defaults: true 00253 00255 00256 protected: 00257 00258 // Enforce normalization in population weights 00260 void NormalizePopWeights(vector<double>*& p); 00261 void NormalizePopWeights(State& s); 00263 00265 int NUM; 00266 00268 bool cmd; 00269 00271 PopulationsApp *pops; 00272 00274 00275 00276 static double Log10; 00278 static double onedeg; 00280 00282 pid_t pid; 00283 00285 00286 00287 int nbins; 00289 vector<dvector> lowb; 00291 vector<dvector> highb; 00293 00295 int Nflux; 00296 00298 00299 // int @autopersist(nparam); 00300 // vector<double> @autopersist(w); 00301 // vector<dvector> @autopersist(pos), @autopersist(sig); 00303 00305 JacoQuad *intgr; 00306 00308 int M; 00309 00311 int Mcur; 00312 00314 int Ndim; 00315 00317 00318 00319 vector<double> wt; 00321 vector<double> *pt; 00323 00325 00326 vector<double> work; 00327 vector<double> ptt; 00328 double *ss; 00330 00332 virtual PopCacheSF* generate(const coordPair& P, SampleDistribution *d); 00334 virtual PopCacheSF* compute_bins(const coordPair& P, SampleDistribution *d); 00335 00337 bool good_bounds; 00339 void check_bounds(); 00340 00342 00343 00344 00345 mmapSF cache; 00347 CacheListSF cachelist; 00349 coordPair lastP; 00351 int nages; 00353 int nbasis; 00355 vector<double> ages; 00357 vector<double> popweight; 00359 vector<rvector> basis; 00361 00363 vector<bool> marge; 00364 00366 00367 00368 unsigned maxvmsize; 00370 unsigned vmsize; 00372 unsigned max_element; 00374 00376 EvalType type; 00377 00379 00380 00381 double m0flux; 00383 double m1flux; 00385 double m2flux; 00387 double mmean; 00389 double mmean2; 00391 double mavg; 00393 double mnorm; 00395 double mback; 00397 void compute_mm(); 00399 double mm_fraction(double mm); 00401 bool mm_computed; 00403 bool mm_use; 00405 00406 private: 00407 00408 template<class Archive> 00409 void post_load(Archive & ar, const unsigned int version) 00410 { 00411 ss = &ptt[0]; 00412 } 00413 00414 // AUTO GENERATED BY ../persistence/autopersist.py 00415 protected: 00416 PopModelCacheSF() {} 00417 private: 00418 friend class boost::serialization::access; 00419 template<class Archive> 00420 void serialize(Archive & ar, const unsigned int version) { 00421 this->pre_serialize(ar, version); 00422 try { 00423 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Model); 00424 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00425 } 00426 try { 00427 ar & BOOST_SERIALIZATION_NVP(METAL); 00428 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00429 } 00430 try { 00431 ar & BOOST_SERIALIZATION_NVP(ALPHA); 00432 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00433 } 00434 try { 00435 ar & BOOST_SERIALIZATION_NVP(BETA); 00436 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00437 } 00438 try { 00439 ar & BOOST_SERIALIZATION_NVP(R0); 00440 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00441 } 00442 try { 00443 ar & BOOST_SERIALIZATION_NVP(A1); 00444 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00445 } 00446 try { 00447 ar & BOOST_SERIALIZATION_NVP(Z1); 00448 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00449 } 00450 try { 00451 ar & BOOST_SERIALIZATION_NVP(Z0); 00452 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00453 } 00454 try { 00455 ar & BOOST_SERIALIZATION_NVP(EFAC); 00456 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00457 } 00458 try { 00459 ar & BOOST_SERIALIZATION_NVP(EMAX); 00460 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00461 } 00462 try { 00463 ar & BOOST_SERIALIZATION_NVP(DELTA); 00464 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00465 } 00466 try { 00467 ar & BOOST_SERIALIZATION_NVP(RT0); 00468 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00469 } 00470 try { 00471 ar & BOOST_SERIALIZATION_NVP(DRT0); 00472 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00473 } 00474 try { 00475 ar & BOOST_SERIALIZATION_NVP(NEBV); 00476 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00477 } 00478 try { 00479 ar & BOOST_SERIALIZATION_NVP(RING); 00480 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00481 } 00482 try { 00483 ar & BOOST_SERIALIZATION_NVP(RINGWIDTH); 00484 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00485 } 00486 try { 00487 ar & BOOST_SERIALIZATION_NVP(RINGAMP); 00488 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00489 } 00490 try { 00491 ar & BOOST_SERIALIZATION_NVP(RINGLOC); 00492 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00493 } 00494 try { 00495 ar & BOOST_SERIALIZATION_NVP(CENTERWIDTH); 00496 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00497 } 00498 try { 00499 ar & BOOST_SERIALIZATION_NVP(CENTERAMP); 00500 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00501 } 00502 try { 00503 ar & BOOST_SERIALIZATION_NVP(NEARBYWIDTH); 00504 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00505 } 00506 try { 00507 ar & BOOST_SERIALIZATION_NVP(NEARBYAMP); 00508 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00509 } 00510 try { 00511 ar & BOOST_SERIALIZATION_NVP(RLOG); 00512 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00513 } 00514 try { 00515 ar & BOOST_SERIALIZATION_NVP(RMIN); 00516 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00517 } 00518 try { 00519 ar & BOOST_SERIALIZATION_NVP(RMAX); 00520 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00521 } 00522 try { 00523 ar & BOOST_SERIALIZATION_NVP(AMIN); 00524 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00525 } 00526 try { 00527 ar & BOOST_SERIALIZATION_NVP(AMAX); 00528 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00529 } 00530 try { 00531 ar & BOOST_SERIALIZATION_NVP(HMIN); 00532 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00533 } 00534 try { 00535 ar & BOOST_SERIALIZATION_NVP(HMAX); 00536 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00537 } 00538 try { 00539 ar & BOOST_SERIALIZATION_NVP(BRmodel); 00540 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00541 } 00542 try { 00543 ar & BOOST_SERIALIZATION_NVP(BURST); 00544 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00545 } 00546 try { 00547 ar & BOOST_SERIALIZATION_NVP(NU); 00548 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00549 } 00550 try { 00551 ar & BOOST_SERIALIZATION_NVP(DataDir); 00552 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00553 } 00554 try { 00555 ar & BOOST_SERIALIZATION_NVP(zerotol); 00556 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00557 } 00558 try { 00559 ar & BOOST_SERIALIZATION_NVP(use_vector); 00560 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00561 } 00562 try { 00563 ar & BOOST_SERIALIZATION_NVP(NUM); 00564 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00565 } 00566 try { 00567 ar & BOOST_SERIALIZATION_NVP(cmd); 00568 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00569 } 00570 try { 00571 ar & BOOST_SERIALIZATION_NVP(pops); 00572 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00573 } 00574 try { 00575 ar & BOOST_SERIALIZATION_NVP(Log10); 00576 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00577 } 00578 try { 00579 ar & BOOST_SERIALIZATION_NVP(onedeg); 00580 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00581 } 00582 try { 00583 ar & BOOST_SERIALIZATION_NVP(pid); 00584 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00585 } 00586 try { 00587 ar & BOOST_SERIALIZATION_NVP(nbins); 00588 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00589 } 00590 try { 00591 ar & BOOST_SERIALIZATION_NVP(lowb); 00592 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00593 } 00594 try { 00595 ar & BOOST_SERIALIZATION_NVP(highb); 00596 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00597 } 00598 try { 00599 ar & BOOST_SERIALIZATION_NVP(Nflux); 00600 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00601 } 00602 try { 00603 ar & BOOST_SERIALIZATION_NVP(intgr); 00604 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00605 } 00606 try { 00607 ar & BOOST_SERIALIZATION_NVP(M); 00608 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00609 } 00610 try { 00611 ar & BOOST_SERIALIZATION_NVP(Mcur); 00612 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00613 } 00614 try { 00615 ar & BOOST_SERIALIZATION_NVP(Ndim); 00616 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00617 } 00618 try { 00619 ar & BOOST_SERIALIZATION_NVP(wt); 00620 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00621 } 00622 try { 00623 ar & BOOST_SERIALIZATION_NVP(pt); 00624 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00625 } 00626 try { 00627 ar & BOOST_SERIALIZATION_NVP(work); 00628 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00629 } 00630 try { 00631 ar & BOOST_SERIALIZATION_NVP(ptt); 00632 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00633 } 00634 try { 00635 ar & BOOST_SERIALIZATION_NVP(good_bounds); 00636 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00637 } 00638 try { 00639 ar & BOOST_SERIALIZATION_NVP(cache); 00640 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00641 } 00642 try { 00643 ar & BOOST_SERIALIZATION_NVP(cachelist); 00644 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00645 } 00646 try { 00647 ar & BOOST_SERIALIZATION_NVP(lastP); 00648 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00649 } 00650 try { 00651 ar & BOOST_SERIALIZATION_NVP(nages); 00652 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00653 } 00654 try { 00655 ar & BOOST_SERIALIZATION_NVP(nbasis); 00656 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00657 } 00658 try { 00659 ar & BOOST_SERIALIZATION_NVP(ages); 00660 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00661 } 00662 try { 00663 ar & BOOST_SERIALIZATION_NVP(popweight); 00664 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00665 } 00666 try { 00667 ar & BOOST_SERIALIZATION_NVP(basis); 00668 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00669 } 00670 try { 00671 ar & BOOST_SERIALIZATION_NVP(marge); 00672 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00673 } 00674 try { 00675 ar & BOOST_SERIALIZATION_NVP(maxvmsize); 00676 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00677 } 00678 try { 00679 ar & BOOST_SERIALIZATION_NVP(vmsize); 00680 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00681 } 00682 try { 00683 ar & BOOST_SERIALIZATION_NVP(max_element); 00684 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00685 } 00686 try { 00687 ar & BOOST_SERIALIZATION_NVP(type); 00688 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00689 } 00690 try { 00691 ar & BOOST_SERIALIZATION_NVP(m0flux); 00692 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00693 } 00694 try { 00695 ar & BOOST_SERIALIZATION_NVP(m1flux); 00696 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00697 } 00698 try { 00699 ar & BOOST_SERIALIZATION_NVP(m2flux); 00700 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00701 } 00702 try { 00703 ar & BOOST_SERIALIZATION_NVP(mmean); 00704 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00705 } 00706 try { 00707 ar & BOOST_SERIALIZATION_NVP(mmean2); 00708 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00709 } 00710 try { 00711 ar & BOOST_SERIALIZATION_NVP(mavg); 00712 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00713 } 00714 try { 00715 ar & BOOST_SERIALIZATION_NVP(mnorm); 00716 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00717 } 00718 try { 00719 ar & BOOST_SERIALIZATION_NVP(mback); 00720 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00721 } 00722 try { 00723 ar & BOOST_SERIALIZATION_NVP(mm_computed); 00724 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00725 } 00726 try { 00727 ar & BOOST_SERIALIZATION_NVP(mm_use); 00728 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00729 } 00730 this->post_serialize(ar, version); 00731 } 00732 00733 }; 00734 00736 class PopCacheSF: public Serializable 00737 { 00738 public: 00739 00741 00742 00743 double L; 00745 double B; 00747 00749 00750 00751 vector<real> R; 00753 vector<real> z; 00755 vector<real> s; 00757 vector<real> mm0; 00759 vector<real> mm1; 00761 vector<real> dm; 00763 00765 00766 00767 int N; 00769 vector<real> zero; 00771 map<int, real, less<int> > bins_map; 00773 map<int, vector<real>, less<int> > bins1_map; 00775 vector< vector<real> > bins1; 00777 vector<real> bins; 00779 list<PopCacheSF*>::iterator it; 00781 00783 00784 00785 void reset_bin1(void); 00787 void reset_bin(void); 00789 real* bin1(int j); 00791 double bin(int j); 00793 00795 PopCacheSF(double ll, double bb, int nages) { 00796 L = ll; 00797 B = bb; 00798 N = nages; 00799 zero = vector<real>(N, 0.0); 00800 } 00801 00803 ~PopCacheSF(); 00804 00805 // AUTO GENERATED BY ../persistence/autopersist.py 00806 protected: 00807 PopCacheSF() {} 00808 private: 00809 friend class boost::serialization::access; 00810 template<class Archive> 00811 void serialize(Archive & ar, const unsigned int version) { 00812 this->pre_serialize(ar, version); 00813 try { 00814 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Serializable); 00815 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00816 } 00817 try { 00818 ar & BOOST_SERIALIZATION_NVP(L); 00819 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00820 } 00821 try { 00822 ar & BOOST_SERIALIZATION_NVP(B); 00823 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00824 } 00825 try { 00826 ar & BOOST_SERIALIZATION_NVP(R); 00827 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00828 } 00829 try { 00830 ar & BOOST_SERIALIZATION_NVP(z); 00831 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00832 } 00833 try { 00834 ar & BOOST_SERIALIZATION_NVP(s); 00835 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00836 } 00837 try { 00838 ar & BOOST_SERIALIZATION_NVP(mm0); 00839 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00840 } 00841 try { 00842 ar & BOOST_SERIALIZATION_NVP(mm1); 00843 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00844 } 00845 try { 00846 ar & BOOST_SERIALIZATION_NVP(dm); 00847 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00848 } 00849 try { 00850 ar & BOOST_SERIALIZATION_NVP(N); 00851 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00852 } 00853 try { 00854 ar & BOOST_SERIALIZATION_NVP(zero); 00855 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00856 } 00857 try { 00858 ar & BOOST_SERIALIZATION_NVP(bins_map); 00859 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00860 } 00861 try { 00862 ar & BOOST_SERIALIZATION_NVP(bins1_map); 00863 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00864 } 00865 try { 00866 ar & BOOST_SERIALIZATION_NVP(bins1); 00867 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00868 } 00869 try { 00870 ar & BOOST_SERIALIZATION_NVP(bins); 00871 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00872 } 00873 this->post_serialize(ar, version); 00874 } 00875 00876 }; 00877 00878 } 00879 00880 BIE_CLASS_TYPE_INFO(BIE::PopModelCacheSF) 00881 BIE_CLASS_TYPE_INFO(BIE::PopCacheSF) 00882 BIE_CLASS_EXPORT_KEY(BIE::PopModelCacheSF) 00883 BIE_CLASS_EXPORT_KEY(BIE::PopCacheSF) 00884 #endif Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:11 2010 by
|