BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
00001 /**************************************************************************** 00002 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 The BioBhasha : The Biologist's Programming Language 00004 Version 1.0 (19th December 2001) 00005 Prasad, B.V.L.S. 00006 Contact: burrashiva@yahoo.com 00007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00008 *****************************************************************************/ 00009 #ifndef BIOHKL_H 00010 #define BIOHKL_H 00011 00012 using namespace std; 00013 00014 #include <vector> 00015 #include <string> 00016 #include <iostream> 00017 00018 00019 class BioHkl 00020 { 00021 00022 double a_, b_, c_, alpha_, beta_, gamma_; 00023 string spgroup; 00024 00025 static double const lambda_ = 1.5418; 00026 00027 vector<int>hin; 00028 vector<int>kin; 00029 vector<int>lin; 00030 00031 vector<double>Iobs; 00032 vector<double>Fobs; 00033 vector<double>Isigma; 00034 vector<double>Fsigma; 00035 00036 public: 00037 00038 BioHkl(string filename); 00039 00040 00041 double get_a_star() ; 00042 double get_b_star() ; 00043 double get_c_star() ; 00044 00045 double get_alpha_star() ; 00046 double get_beta_star() ; 00047 double get_gamma_star() ; 00048 00049 double getVolume(); 00050 00051 double get_a() const { return a_; }; 00052 double get_b() const { return b_; }; 00053 double get_c() const { return c_; }; 00054 00055 double get_alpha() const { return alpha_;} 00056 double get_beta() const { return beta_;} 00057 double get_gamma() const { return gamma_;} 00058 00059 string getSpaceGroup() const { return spgroup; }; 00060 00061 double getLambda() const { return lambda_; } 00062 00063 void showBraggAngle(ostream & os = cout); 00064 double getBraggAngle(int , int , int); 00065 00066 void showHklFobs(ostream & = cout); 00067 void showSystematicAbsences(ostream & = cout); 00068 00069 long getNumberOfReflections() const { return hin.size(); } 00070 00071 bool isOdd(int ); 00072 vector <int> get_h(); 00073 vector <int> get_k(); 00074 vector <int> get_l(); 00075 vector <double> getIObs(); 00076 vector <double> getFObs(); 00077 vector <double> getISigma(); 00078 vector <double> getFSigma(); 00079 00080 }; 00081 00082 #endif 00083