Changeset 408 in Sophya for trunk/Poubelle/archTOI.old/archeopsfile.cc
- Timestamp:
- Sep 22, 1999, 10:57:36 AM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Poubelle/archTOI.old/archeopsfile.cc
r407 r408 881 881 } 882 882 883 double ArcheopsFile::getMuVBolo2(int ibolo, int imesure) { // microvolts, filtre 884 // On commence par trouver la valeur d'offset, en fittant une droite sur les soustractions 885 if (!lastBolo() || !llastBolo()) return 0; 886 block_type_reglage* reglage = lastReglage(); 887 block_type_param* param = lastParam(); 888 if (!reglage) return 0; 889 if (!param) return 0; 890 double sumx=0, sumy=0, sumxy=0, sumx2=0; 891 int n=20; 892 int s = imesure % 2 ? 1 : -1; 893 for (int i=1; i<=n; i++) { 894 double x = -i; 895 double y = s*(getRawBolo(ibolo, imesure-i+1) - getRawBolo(ibolo, imesure-i))/2; 896 s = -s; 897 sumx += x; 898 sumy += y; 899 sumxy += x*y; 900 sumx2 += x*x; 901 } 902 double a = (sumxy/n - (sumx/n)*(sumy/n)) / (sumx2/n - (sumx/n)*(sumx/n)); 903 double b = (sumy/n) - a*(sumx/n); 904 s = imesure % 2 ? 1 : -1; 905 double y = getRawBolo(ibolo, imesure); 906 y = y-s*b; 907 return bol_micro_volt(y,(double)param->param.bolo[ibolo].bolo_gain*gain_ampli(reglage->reglage.bolo[ibolo])); 908 } 909 883 910 double ArcheopsFile::getGainAmpli(int ibolo) { 884 911 return gain_ampli(lastReglage()->reglage.bolo[ibolo]); 885 912 } 913 914 #define capa(uu) ((parametr.bolo[uu].bolo_bebo==10)?0.000868 * (double)parametr.bolo[uu].bolo_capa:0.001 * (double)parametr.bolo[uu].bolo_capa) // capa en pF 915 #define pt_micA(uu) ((4096. * 22. * 20.) / capa(uu) ) // pts / micro Amperes 916 917 918 #define pt_micV(uu) (((double)parametr.bolo[uu].bolo_diviseur) / 2441.) // pts / microvolt 919 920 921 double ArcheopsFile::getDACV(int ibolo) { 922 double dacV = dac_V(lastReglage()->reglage.bolo[ibolo]); 923 param_bolo& parametr = lastParam()->param; 924 return dacV / pt_micV(ibolo); 925 } 926 927 double ArcheopsFile::getDACI(int ibolo) { 928 double dacI = dac_I(lastReglage()->reglage.bolo[ibolo]); 929 param_bolo& parametr = lastParam()->param; 930 return dacI / pt_micA(ibolo); 931 } 932 886 933 887 934 // SST, gyros...
Note:
See TracChangeset
for help on using the changeset viewer.