00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __BIN_BHNS_EXTR_H_
00027 #define __BIN_BHNS_EXTR_H_
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #include "et_bin_bhns_extr.h"
00045 #include "etoile.h"
00046
00053 class Bin_bhns_extr {
00054
00055
00056
00057 private:
00059 const Base_vect_cart ref_triad ;
00060
00062 Et_bin_bhns_extr star ;
00063
00067 double omega ;
00068
00070 double separ ;
00071
00073 double mass_bh ;
00074
00075
00076
00077 private :
00082 mutable double* p_xa_barycenter_extr ;
00083
00087 mutable double* p_ya_barycenter_extr ;
00088
00092 mutable double* p_mass_b_extr ;
00093
00094
00095
00096 public:
00112 Bin_bhns_extr(Map& mp, int nzet, const Eos& eos,
00113 bool irrot, bool relat, bool kerrs, bool multi) ;
00114
00115 Bin_bhns_extr(const Bin_bhns_extr& ) ;
00116
00123 Bin_bhns_extr(Map& mp, const Eos& eos, FILE* fich) ;
00124
00125 ~Bin_bhns_extr() ;
00126
00127
00128
00129
00130 private:
00132 void del_deriv() const ;
00133
00135 void set_der_0x0() const ;
00136
00137
00138
00139
00140 public:
00142 void operator=(const Bin_bhns_extr&) ;
00143
00145 Et_bin_bhns_extr& set_ns()
00146 { del_deriv() ;
00147 return star ; } ;
00148
00150 double& set_omega() { return omega ; } ;
00151
00153 double& set_separ() { return separ ; } ;
00154
00156 double& set_mass_bh() { return mass_bh ; } ;
00157
00158
00159
00160 public:
00162 const Et_bin_bhns_extr& get_ns() const
00163 { return star ; } ;
00164
00166 double get_omega() const { return omega ; } ;
00167
00171 double get_separ() const { return separ ; } ;
00172
00174 double get_mass_bh() const { return mass_bh ; } ;
00175
00176
00177
00178 public:
00179 void sauve(FILE* ) const ;
00180
00182 friend ostream& operator<<(ostream& , const Bin_bhns_extr& ) ;
00183
00185 void display_poly(ostream& ) const ;
00186
00187 private:
00189 ostream& operator>>(ostream& ) const ;
00190
00191
00192
00193 public:
00198 double xa_barycenter_extr() const ;
00199
00200
00202 double ya_barycenter_extr() const ;
00203
00207 double mass_b_extr() const ;
00208
00229 void orbit_omega_ks(double fact_omeg_min, double fact_omeg_max) ;
00230
00251 void orbit_omega_cf(double fact_omeg_min, double fact_omeg_max) ;
00252
00256 void analytical_omega() ;
00257
00262 void analytical_shift() ;
00263
00264 };
00265 ostream& operator<<(ostream& , const Bin_bhns_extr& ) ;
00266
00267 #endif