// 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.