#ifndef HKICKDETDIGI_H
#define HKICKDETDIGI_H
#include "hreconstructor.h"
#include "tofdef.h"
#include "hsymmat.h"
#include "TIterator.h"
#include "TF1.h"
class HCategory;
class HMdcGeomPar;
class HIterator;
class HGeantMdc;
class HGeomVector;
class HSpecGeomPar;
class HKickDetDigi : public HReconstructor {
protected:
TF1 *probDistrX[4];
TF1 *probDistrY[4];
Float_t fMdcResolX[4];
Float_t fMdcResolY[4];
Float_t fMdcTailX[4];
Float_t fMdcTailY[4];
HSymMat4 fMdcSegCov;
HLocation fMdcSectorLoc,fMdcSecModLoc;
HCategory *fMdcInput;
HCategory *fTofInput;
HCategory *fMdcOut;
HCategory *fMdcHitOut;
HCategory *fCatKine;
HMdcGeomPar *fGeometry;
HSpecGeomPar *fSpecGeometry;
HCategory *fTofOut;
HIterator *fMdcIter;
TIterator *fTofIter;
Bool_t fFillTof;
Bool_t fIsTofPerfect;
Bool_t fIsMdcPerfect;
Bool_t fIsMdcAngErrConst;
Bool_t fSimulateTails;
Bool_t fFillMdc;
Bool_t fFillMdcHits;
Bool_t fFillSegments[2];
Bool_t fFillOuterSegments;
Int_t fMomPos;
Int_t digiMdc2(void);
Int_t digiTof(void);
void calcPosDir(HGeantMdc *data, HGeantMdc *data2,
Float_t x, Float_t y, Float_t x2, Float_t y2,
HGeomVector &r,HGeomVector &dir);
HGeantMdc *findPartner(HGeantMdc *geMdc, Int_t sector,
Int_t mod, Int_t layer);
void fillData(HGeomVector &r,HGeomVector &alpha,Double_t p,Int_t track);
void fillHit(HGeantMdc *geMdc, Float_t x, Float_t y,Float_t p);
public:
HKickDetDigi(const Text_t name[]="kick.digi",const Text_t title[]="kick.digi");
~HKickDetDigi(void);
Int_t execute(void);
Bool_t init(void);
Bool_t finalize(void);
void setTofFilling(Bool_t f) { fFillTof=f; }
void setMdcFilling(Bool_t f=kTRUE) { fFillMdc = f; }
Bool_t isFillingTof(void) { return fFillTof; }
Bool_t isTofPerfect(void) { return fIsTofPerfect; }
Bool_t isMdcPerfect(void) { return fIsMdcPerfect; }
Bool_t isMdcAngErrConst(void) { return fIsMdcAngErrConst; }
void setMdcAngErrConst(Bool_t f=kTRUE) { fIsMdcAngErrConst = f; }
void setPerfectMdc(void) { fIsMdcPerfect = kTRUE; }
void setPerfectTof(void) { fIsTofPerfect = kTRUE; }
inline void setFillingSegments(Bool_t inner,Bool_t outer);
void setFillingHits(Bool_t f) { fFillMdcHits = f; }
void setMomPos(Int_t i) { fMomPos = i; }
void setTails(Bool_t t) { fSimulateTails = t; }
void setMdcResolution(Float_t x1,Float_t y1,Float_t x2,Float_t y2,
Float_t x3,Float_t y3,Float_t x4,Float_t y4);
void setMdcTails(Float_t x1,Float_t y1,Float_t x2,Float_t y2,
Float_t x3,Float_t y3,Float_t x4,Float_t y4);
ClassDef(HKickDetDigi,0)
};
inline void HKickDetDigi::setFillingSegments(Bool_t inner,Bool_t outer) {
fFillSegments[0] = inner;
fFillSegments[1] = outer;
}
#endif
Last change: Sat May 22 12:58:17 2010
Last generated: 2010-05-22 12:58
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.