#ifndef HMDCOFFSETCHECKTIMESHIFT_H
#define HMDCOFFSETCHECKTIMESHIFT_H
#include "hreconstructor.h"
#include "hstartdef.h"
#include "TMath.h"
typedef Int_t MyInt;
typedef Float_t MyFloat;
typedef TH1F MyHist;
class TFile;
class HCategory;
class HIterator;
class HMdcCalPar;
class HMdcCalParRaw;
class HMdcLookupGeom;
class HMdcTimeCut;
typedef MyInt MyFieldMdc[6][4][20][50][2048];
class HMdcOffsetCheckTimeShift : public HReconstructor {
protected:
static const Int_t nbin;
static const Int_t nbinm1;
static const Int_t nbinp1;
static const Int_t nSubEvents;
HCategory *rawCat;
HCategory* calStartCat;
HIterator *iter;
HIterator* iter_start;
HMdcCalParRaw *calparraw;
HMdcTimeCut *timecut;
HMdcLookupGeom *lookupgeom;
Int_t eventcounter;
Int_t filecounter;
Int_t skipcount;
Int_t numberofevents;
Int_t step;
Int_t stepsize;
Bool_t isPulserFile;
Bool_t noStart;
Bool_t useTimeCut;
Char_t filenames[50][200];
Char_t *fNameAsciiOffset;
Char_t *fNameRootOffset;
Float_t minfitthreshold;
Float_t maxfitthreshold;
Int_t offsetfitNoise;
Int_t widthfitNoise;
Int_t rangeGauss;
MyFieldMdc *hreverse;
MyFieldMdc *hintegral;
MyHist *hinv;
MyHist *hint;
MyFloat yequalzero;
MyFloat crosspointX;
MyFloat fitpar0;
MyFloat fitpar0error;
MyFloat fitpar1;
MyFloat fitpar1error;
MyFloat fitparNoise0;
MyFloat fitparNoise0error;
MyFloat fitparNoise1;
MyFloat fitparNoise1error;
MyFloat totalsigma;
MyFloat fitGaussMean;
MyFloat fitGaussSigma;
public:
HMdcOffsetCheckTimeShift();
HMdcOffsetCheckTimeShift(const Text_t* name,const Text_t* title);
~HMdcOffsetCheckTimeShift();
Bool_t init();
Bool_t reinit();
Bool_t finalize();
Int_t execute();
void setOutputAscii(const Char_t*);
void setOutputRoot (const Char_t*);
void setPulserFile() {isPulserFile=kTRUE;}
void setNoStart() {noStart=kTRUE;}
void setTimeCut(Bool_t cut) {useTimeCut=cut;}
void setStepSize(Int_t i) {stepsize =i;}
void setNumberOfEvents(Int_t i) {numberofevents =i;}
void setNoiseOffset(Int_t i) {offsetfitNoise =i;}
void setNoiseWidth (Int_t i) {widthfitNoise =i;}
void setThresholdMin(Float_t f) {minfitthreshold=f;}
void setThresholdMax(Float_t f) {maxfitthreshold=f;}
void setNoise(Int_t o, Int_t w) {offsetfitNoise=o; widthfitNoise=w;}
void setThreshold(Float_t min, Float_t max) {minfitthreshold=min; maxfitthreshold=max;}
void setRangeGauss(Int_t i) {rangeGauss=i;}
protected:
Bool_t isNaN(MyFloat f) {return (TMath::IsNaN(f)!=0);}
void setDefault();
ofstream *openAsciiFile();
TDirectory *Mkdir(TDirectory *, const Char_t *, Int_t, Int_t p=1);
void createHist(TFile*,Int_t, Int_t, Int_t, Int_t);
void fillHist (Int_t, Int_t, Int_t, Int_t);
Int_t fitHist (Int_t, Int_t, Int_t, Int_t);
Float_t getstarttime();
void writeAscii(ofstream&, Int_t, Int_t, Int_t, Int_t);
void writeHist (TFile*);
void deleteHist();
public:
ClassDef(HMdcOffsetCheckTimeShift, 0)
};
#endif /* !HMDCOFFSETCHECKTIMESHIFT_H */
Last change: Sat May 22 13:03:03 2010
Last generated: 2010-05-22 13:03
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.