#ifndef HTOFREC_H
#define HTOFREC_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "hevent.h"
#include "hrecevent.h"
#include "hcategory.h"
#include "hmatrixcategory.h"
#include "hlinearcategory.h"
#include "hmdcseg.h"
#include "TFile.h"
#include "TNtuple.h"
class HIterator;
class HCategory;
class HTofRec : public HReconstructor {
protected:
Bool_t fRichMode;
Bool_t fPlusMode;
Bool_t fMinusMode;
Bool_t fDebugMode;
Bool_t fillNTuple;
Bool_t fKickHires;
Bool_t fKickLowres;
Bool_t fKickLowresB;
Bool_t fSpline;
Bool_t fRK;
Bool_t bChiCutInner;
Bool_t bChiCutOuter;
Bool_t fSkip;
Bool_t isSimulation;
Bool_t isCommon;
Bool_t bIsFirst;
HCategory* fSplineCat;
HCategory* fKickLowCat;
HCategory* fKickLowBCat;
HCategory* fKickHiCat;
HCategory* fRichCat;
HCategory* fTofCat;
HCategory* fTofinoCat;
HCategory* fMetaMatchCat;
HCategory* fMdcSegCat;
HCategory* fMdcTrkCandCat;
HCategory* fRKCat;
HIterator* iterMetaMatch;
HIterator* iterRich;
Double_t C;
Float_t rich_params[5];
Float_t rich_qparams[4];
Int_t spline_sec_on[6];
Float_t spline_sec_field[6];
Int_t kick123_sec_on[6];
Int_t kick_sec_on[6];
Int_t rk_sec_on[6];
Int_t mdc_sec[6];
Int_t common_flag;
TNtuple* before;
TNtuple* after;
TNtuple* richcorr;
TString sDir;
TString sFile;
void track_recalc(Float_t *start, Int_t *rec_ind, Int_t *flag);
Bool_t isRichCorr(HMdcSeg *mdc);
public:
HTofRec(void);
HTofRec(const Text_t name[],const Text_t title[],const Char_t *select="", const Char_t *track="");
~HTofRec(void);
Bool_t init(void);
Bool_t finalize(void);
Int_t execute(void);
void setRichMode(Bool_t r) {fRichMode=r;}
void setMinusMode(Bool_t m) {fMinusMode=m;}
void setPlusMode(Bool_t p) {fMinusMode=p;}
void setDebug(Bool_t d) {fDebugMode=d;}
void setFillNTuple(Bool_t fill) {fillNTuple=fill;}
void setRichParams(Float_t theta0, Float_t dtheta, Float_t phi0, Float_t dphi, Float_t lambda2) {
rich_params[0] = theta0;
rich_params[1] = dtheta;
rich_params[2] = phi0;
rich_params[3] = dphi;
rich_params[4] = lambda2;
}
void setQualityRichParams(Float_t RingPatMat, Float_t RingPadNr, Float_t Centroid, Float_t RingAmplitude) {
rich_qparams[0] = RingPatMat;
rich_qparams[1] = RingPadNr;
rich_qparams[2] = Centroid;
rich_qparams[3] = RingAmplitude;
}
void setSplineSec(Int_t spline_sec[6]) {
for (Int_t ii=0; ii<6; ii++) spline_sec_on[ii] = spline_sec[ii];
}
void setSplineField(Float_t spline_sec[6]) {
for (Int_t ii=0; ii<6; ii++) spline_sec_field[ii] = spline_sec[ii];
}
void setKickHiSec(Int_t kick123_sec[6]) {
for (Int_t ii=0; ii<6; ii++) kick123_sec_on[ii] = kick123_sec[ii];
}
void setKickLowSec(Int_t kick_sec[6]) {
for (Int_t ii=0; ii<6; ii++) kick_sec_on[ii] = kick_sec[ii];
}
void setRKSec(Int_t rk_sec[6]) {
for (Int_t ii=0; ii<6; ii++) rk_sec_on[ii] = rk_sec[ii];
}
void setOutputDir(const Char_t *fdir) {sDir = fdir;}
void setOutputFile(const Char_t *ffile) {sFile = ffile;}
ClassDef(HTofRec,0)
};
#endif /* !HTOFREC_H */
Last change: Sat May 22 13:16:29 2010
Last generated: 2010-05-22 13:16
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.