#ifndef HMDCCALIBRATER1_H
#define HMDCCALIBRATER1_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "TRandom.h"
#include "hstartdef.h"
class HCategory;
class HIterator;
class HMdcCalParRaw;
class HMdcLookupGeom;
class HMdcTimeCut;
class HMdcCutStat;
class HMdcRaw;
class HMdcCal1;
class HMdcCalParTdc;
class HMdcCalibrater1 : public HReconstructor {
protected:
HCategory* rawCat;
HCategory* calCat;
HCategory* startHitCat;
HMdcRaw* raw;
HMdcCal1* cal;
Bool_t StartandCal;
Bool_t NoStartandNoCal;
Bool_t NoStartandCal;
Bool_t setTimeCut;
Bool_t hasPrinted;
Int_t embedding;
HLocation loc;
HIterator* iter;
HIterator* iterstart;
HMdcCalParRaw* calparraw;
HMdcLookupGeom* lookup;
HMdcTimeCut* timecut;
HMdcCutStat* cutStat;
static Float_t globalOffset[4];
static Float_t globalSlope;
static Int_t countNrWiresPerMod[6][4];
static Int_t countNrWiresPerModCal[6][4];
Int_t cuts[4];
Int_t cutthreshold;
Bool_t useMultCut;
Bool_t doprint;
void initParameters(void);
void initCounters()
{
for(Int_t i=0;i<6;i++)
{
for(Int_t j=0;j<4;j++)
{
countNrWiresPerMod[i][j]=0;
}
}
};
void initCountersCal()
{
for(Int_t i=0;i<6;i++)
{
for(Int_t j=0;j<4;j++)
{
countNrWiresPerModCal[i][j]=0;
}
}
};
Bool_t doMultCut()
{
for(Int_t i=0;i<6;i++)
{
for(Int_t j=0;j<4;j++)
{
if(countNrWiresPerModCal[i][j]>cutthreshold) return kTRUE;
}
}
return kFALSE;
}
void setParContainers(void);
Float_t getstarttime();
Bool_t testTimeCuts(Float_t,Float_t);
Bool_t translateAddress(Int_t*,Int_t*);
void calcTimes(Float_t*,Float_t*,Float_t,Int_t,HMdcCalParTdc*);
void fillCal1(Float_t ,Float_t ,Int_t );
void countWiresPerMod();
void printWires();
public:
HMdcCalibrater1(void);
HMdcCalibrater1(const Text_t* name,const Text_t* title,Int_t vers=1,Int_t cut=1,Int_t domerge=0);
~HMdcCalibrater1(void);
Bool_t init(void);
void setDoPrint(Bool_t dopr){doprint=dopr;}
void setUseMultCut(Int_t thresh,Bool_t use=kTRUE){cutthreshold=thresh;useMultCut=use;}
void switchArguments(Int_t,Int_t,Int_t);
void setGlobalOffset(Float_t o0,Float_t o1,Float_t o2,Float_t o3)
{
globalOffset[0]=o0;
globalOffset[1]=o1;
globalOffset[2]=o2;
globalOffset[3]=o3;
}
void setGlobalSlope(Float_t s){globalSlope=s;}
Bool_t finalize(void) {return kTRUE;}
void printStatus();
Int_t execute(void);
ClassDef(HMdcCalibrater1,0)
};
#endif /* !HMDCCALIBRATER1_H */
Last change: Sat May 22 13:00:30 2010
Last generated: 2010-05-22 13:00
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.