#ifndef HMDCVERTEXFIND_H
#define HMDCVERTEXFIND_H
#include "hreconstructor.h"
#include "hgeomvector.h"
#include "hgeomvertexfit.h"
#include "hspecgeompar.h"
#include "TIterator.h"
#include "TNtuple.h"
#include "TFile.h"
#include "TClonesArray.h"
class HCategory;
class HMdcGeomPar;
class HIterator;
class HMdcSeg;
class HMdcVertexFind : public HReconstructor {
public:
enum EInputMode {kSegments,kHits};
HMdcVertexFind(const Text_t name[] = "",const Text_t title[] = "",EInputMode m = kSegments,Bool_t tukey = kFALSE);
virtual ~HMdcVertexFind(void);
Bool_t init(void);
Bool_t finalize(void);
Int_t execute(void);
void useTukeyWeights (Bool_t flag) { fUsingTukey = flag; }
void setDebugMode (Bool_t flag) { fDebugMode = flag; }
void setTukeyConstant (Double_t d) { fTukeyConst = d; }
void setMaxIterations (Int_t max) { fMaxIterations = max; }
void setEpsilon (Double_t ep) { fEpsilon = ep; }
EInputMode getInputMode (void) { return fInputMode; }
Double_t getTukeyConstant (void) { return fTukeyConst; }
Int_t getMaxIterations (void) { return fMaxIterations; }
Double_t getEpsilon (void) { return fEpsilon; }
static void setRejectEmbeddedTracks(Bool_t reject = kTRUE){rejectEmbeddedTracks = reject;}
static void setUseEventSeqNumber (Bool_t use = kTRUE){useEventSeqNumber = use; }
static void setSkipNoVertex (Bool_t skip = kTRUE){doSkipNoVertex = skip; }
protected:
void initVars(void);
Bool_t pointsToTarget(const HGeomVector &r,HGeomVector &alpha,Int_t sector,Int_t module);
Bool_t readSegments (HGeomVector &estimate);
Bool_t readHits (HGeomVector &estimate);
void transform (HMdcSeg *data, HGeomVector &r, HGeomVector &alpha);
Bool_t hasConverged (HGeomVector &v,HGeomVector &oldV);
HGeomVertexFit fFitter;
TNtuple *fControl;
TClonesArray fPos;
TClonesArray fAlpha;
HCategory *fInput;
HMdcGeomPar *fGeometry;
HSpecGeomPar *fSpecGeometry;
HIterator *fIter;
Double_t fTukeyConst;
Int_t fMaxIterations;
Bool_t fUsingTukey;
Bool_t fDebugMode;
Double_t fEpsilon;
EInputMode fInputMode;
Bool_t isEmbedding;
static Bool_t rejectEmbeddedTracks;
static Bool_t useEventSeqNumber;
static Bool_t doSkipNoVertex;
TIterator* geantKineIter;
public:
ClassDef(HMdcVertexFind,1)
};
#endif
Last change: Sat May 22 13:04:20 2010
Last generated: 2010-05-22 13:04
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.