#ifndef HRTMETACORRELATOR_H
#define HRTMETACORRELATOR_H
#include "TClonesArray.h"
#include "TFile.h"
#include "TNtuple.h"
#include "hgeomvector.h"
#include "hlocation.h"
class HCategory;
class HTofGeomPar;
class HIterator;
class HShowerGeometry;
class HSpecGeomPar;
class HTofHit;
class HShowerHitTof;
class HEvent;
class HRuntimeDb;
class HRtMetaPoint : public HGeomVector {
protected:
Float_t fPlaneSlope,fPlaneOffset;
HGeomVector fErrors;
Int_t fTimesUsed;
Float_t fTof;
Char_t fSystem;
Int_t flag;
TObject *fMetaHit;
public:
HRtMetaPoint(void) { fTof = -1; fTimesUsed=0; }
~HRtMetaPoint(void) { }
HRtMetaPoint(const HGeomVector &v) {
x=v.getX(); y=v.getX(); z=v.getZ();
}
Int_t getFlag(void) { return flag; }
void setFlag(Int_t f) { f = flag; }
Int_t getNTimesUsed(void) { return fTimesUsed; }
Float_t getTof(void) { return fTof; }
void incUsedTimes(void) { fTimesUsed++; }
void setTof(Float_t f) { fTof = f; }
Char_t getSystem(void) { return fSystem; }
void setSystem(Char_t s) { fSystem = s; }
void setMetaHit(TObject *p) { fMetaHit = p; }
void setSlope(Float_t s) { fPlaneSlope = s; }
void setOffset(Float_t s) { fPlaneOffset = s; }
Float_t getSlope(void) { return fPlaneSlope; }
Float_t getOffset(void) { return fPlaneOffset; }
TObject *getMetaHit(void) { return fMetaHit; }
HGeomVector &getErrors(void) { return fErrors; }
ClassDef(HRtMetaPoint,1)
};
class HRtMetaCorrelator : public TObject {
public:
HRtMetaCorrelator(void);
~HRtMetaCorrelator(void) { delete fMetaPoints; }
Bool_t init(HEvent *ev,HRuntimeDb *rtdb);
Bool_t finalize(void);
void readMetaPoints(void);
void addPoint(HTofHit *data);
void addPoint(HShowerHitTof *data);
void setSector(Int_t s) { fSecLoc[0] = s; }
Float_t getDistance(void) { return fLatestDistance; }
Float_t getResX(void) { return fResX; }
Float_t getResY(void) { return fResY; }
HRtMetaPoint &createMetaPoint(void);
HRtMetaPoint *findClosestPoint(HGeomVector &r,HGeomVector &alpha,
Float_t leverArm);
Int_t getNMetaPoints(void) { return fMetaPoints->GetEntries(); }
HRtMetaPoint &getMetaPoint(Int_t i)
{ return *((HRtMetaPoint *)fMetaPoints->UncheckedAt(i)); }
protected:
virtual Bool_t getShowerCategory(HEvent *event);
HCategory *fTofCat;
HCategory *fShowerCat;
TClonesArray *fMetaPoints;
HTofGeomPar *fTofGeometry;
HShowerGeometry *fShowerGeometry;
HSpecGeomPar *fSpecGeometry;
HIterator *fTofIter;
HIterator *fShowerIter;
HLocation fSecLoc;
Float_t fMaxDist;
Float_t fLatestDistance;
Float_t fResX,fResY;
TFile *fOut;
TNtuple *fControl;
public:
ClassDef(HRtMetaCorrelator,1)
};
#endif
Last change: Sat May 22 13:11:57 2010
Last generated: 2010-05-22 13:11
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.