#ifndef HRICHLOCALMAXCAL_H
#define HRICHLOCALMAXCAL_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "hparset.h"
#include "TFile.h"
#include "TH2.h"
#include "TNtuple.h"
class HCategory;
class HIterator;
class HRichCal;
class HRichLocal;
class HRichLocalMaxCal : public HReconstructor {
public:
HRichLocalMaxCal(const Text_t *name,const Text_t *title, Int_t pads,
Int_t hitMin, Int_t sector,
Float_t minTheta1, Float_t maxTheta1, Float_t minTheta2,
Float_t maxTheta2, const Char_t energyFileName[128],
Int_t secEdge1,Int_t secEdge2,Int_t minHitsecEdge1,
Int_t minHitsecEdge2);
~HRichLocalMaxCal();
HRichLocalMaxCal(void){;};
Bool_t init();
Bool_t finalize();
Bool_t resetmatrix();
Bool_t hitcontrol();
Int_t execute();
Bool_t fillmatrix(HLocation &fLoc);
Bool_t localmaxcal(HLocation &fLoc);
Bool_t localanglecut(HLocation& fLoc);
Int_t checkLocalMax(Int_t sec,Int_t i,Int_t j,Int_t a);
Bool_t checkIsolation(Int_t nRow, Int_t nCol, Int_t nSector,Int_t padNum);
Float_t sumcharge(Int_t nRow, Int_t nCol, Int_t nSector);
virtual Bool_t energyfile();
virtual Bool_t energyout();
virtual Bool_t multihit(Int_t nRow, Int_t nCol, Int_t nSector, HLocation& fLoc);
virtual Float_t energyset(Int_t nRow, Int_t nCol, Int_t nSector);
HRichLocalMaxCal &operator=(HRichLocalMaxCal &c);
HCategory* getLocalCat() {return fLocalCat;}
HCategory* getCalCat() {return fCalCat;}
HParSet* getGeometryPar() {return fGeometryPar;}
void setLocalCat(HCategory* pLocalCat) {fLocalCat = pLocalCat;}
void setCalCat(HCategory* pCalCat) {fCalCat = pCalCat;}
void setGeometryPar(HParSet* pPar) {fGeometryPar = pPar;}
void updateHeaders(Float_t t1, Float_t t2,Int_t i,Float_t *secM,Float_t *meanCS,Int_t evtNum);
ClassDef(HRichLocalMaxCal,1)
protected:
Int_t shadowSector;
Int_t edgesector1;
Int_t edgesector2;
Int_t minHitedgesector1;
Int_t minHitedgesector2;
Int_t padNumber;
Int_t minHit;
Int_t localEventNr;
Int_t eventNr;
Int_t i, j;
Int_t n;
Bool_t hitControl;
Float_t sumHit[6];
Float_t meanCharge[6];
Int_t doubleHit[6];
Int_t jCol;
Int_t jRow;
Int_t iSector;
Int_t iCol;
Int_t iRow;
Float_t thetaMin1;
Float_t thetaMax1;
Float_t thetaMin2;
Float_t thetaMax2;
Float_t minCharge;
Float_t maxCharge;
Float_t sumCharge;
Float_t sumTheta;
Float_t sumPhi;
Int_t nPad;
Int_t mHit2[6][90][92];
Int_t mHit[6][90][92];
Float_t mCharge[6][90][92];
Float_t mTheta[6][90][92];
Float_t mPhi[6][90][92];
Float_t energy;
Float_t fCharge[9];
Char_t energyName[16];
Char_t filename[128];
Int_t count1, count2;
Float_t fTheta1, fTheta2;
TFile * pEnergyLockup;
TH2F * pEnergySim[6];
TNtuple *tCharge;
HParSet* fGeometryPar;
HCategory *fCalCat;
HCategory *fLocalCat;
HCategory *fLocalCatHr;
HIterator* fIter;
HIterator* fIter1;
};
#endif // HRICHLOCALMAXCAL_H
Last change: Sat May 22 13:09:20 2010
Last generated: 2010-05-22 13:09
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.