// Author: Andrej Filipcic <http://merlot.ijs.si/~andrej/>,Egon Pavlica (documentation) <http://www.ses-ng.si/~pavlica/> 
#include "LTrace.h"
#define DEBUG kTRUE

////////////////////////////////
//  Bla desc
///////////////////


ClassImp(LTrace)

 LTrace::LTrace(const int np) {
  fNP=np;
  fSTrace=new short[np];
  fTrace=0;
  fDecoded=kFALSE;
}

 LTrace::~LTrace() {
  delete [] fTrace;
  fTrace=0;
  delete [] fSTrace;
  fSTrace=0;
}

 void LTrace::SetNP(const int np) {
  delete [] fSTrace;
  delete [] fTrace;
  fTrace=0;
  fNP=np;
  fSTrace=new short[np];
  fDecoded=kFALSE;
}

 void LTrace::SetVMaxMin(const float VMax,const float VMin) {
  fVMax=VMax;
  if(VMin==VMIN)
    fVMin=-fVMax;
  else
    fVMin=VMin;
  cout<<"VMaxMin: "<<fVMax<<" "<<fVMin<<endl;
}

//void LTrace::SetVOffset(const float VOffset) {
//  fVOffset=VOffset;
//}

 void LTrace::SetDatime(const TDatime& Datime) {
  fDatime=Datime;
}

 void LTrace::SetTimeSep(const float TimeSep) {
  fTimeSep=TimeSep;
}

 void LTrace::SetTriggerDelay(const float TriggerDelay) {
  fTriggerDelay=TriggerDelay;
}

 void LTrace::Decode() {
  delete [] fTrace;
  fTrace=new float[fNP];
  float conv=(fVMax-fVMin)/USHRT_MAX;
  for(int i=0;i<fNP;i++) {
    // Calculate trace
    fTrace[i]=(fSTrace[i]-float(SHRT_MIN))*conv+fVMin;
  }
  fDecoded=kTRUE;
  //printf("Decode: %f %f %f %d %dn",fVMax,fVMin,fTrace[100],fSTrace[100],int(fDecoded));
}

 void LTrace::SetSTrace(const short* strace) {
  for(int i=0;i<fNP;i++) 
    fSTrace[i]=strace[i];
  //Decode();
}

 const float* LTrace::GetTrace() {
  if(!fDecoded) Decode();
  return fTrace;
}

const float LTrace::operator[](const int i)  {
  if(!fDecoded) Decode();
  return fTrace[i];
}

LTrace* gTrace=0;


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.