#include #include // D. Yvon, CE Saclay, DAPNIA/SPP, 08/99 #include #include "mayer_fft.h" #include "dyffttools.h" #include "transfelec.h" #include "formepulse.h" #include "ssthardware.h" #define LTab (2048) #define LSave (256) #define Tpas (5.e-4) //float PulseOptOrigin=LTab/16.*Tpas; float PulseOptOrigin=0.; //#define DYTestRun /* FormePulse::FormePulse() { gainElec=0.; FullwidthHalfMax=0; ShapeArr=new double[LSave]; for(int i=0; iMax) { Max=PulseInReel[i]; MaxIndex=i; } gainElec=Max/SSTFPulseCourant; //En Volt/ampere // On calcule la LMH int HalfMaxInf; for(HalfMaxInf=MaxIndex;HalfMaxInf>0;HalfMaxInf--) if(fabs(PulseInReel[HalfMaxInf])<(Max/2.)) break; int HalfMaxSup; for(HalfMaxSup=MaxIndex;HalfMaxSup=LSave) returnValue= ShapeArr[LSave-1]; else { double Min=ShapeArr[ientier]; double Max=ShapeArr[ientier+1]; // double test=temps/Tpas-ientier; returnValue=Min+(Max-Min)*(temps/Tpas-ientier); } return returnValue; } double FormePulse::LongPulseOptique() { double returnVal; returnVal=SSTLongPhotDiode/SSTLongFocale*PeriodRotTeles/2/3.1415/sin(SSTTelesElevation); //en secondes return returnVal; // return returnVal=30.e-3; //Gros BUGG!!!!! } double FormePulse::pulseOptique(double temps) { double value; if((temps>PulseOptOrigin)&&(temps<=PulseOptOrigin+LongPulseOptique())) value=SSTFPulseCourant; // Amplitude: 1 nanoampère else value=0.; // for(long i=0; i