#ifndef HMDCTARGETMON_H
#define HMDCTARGETMON_H
#include "hreconstructor.h"
#include "hgeomvector.h"
#include "TStopwatch.h"
#include "TString.h"
#include "hlocation.h"
class HIterator;
class HCategory;
class HMdcTimeCut;
class TH1F;
class TH2S;
class TFile;
class HEventHeader;
class HGeomTransform;
class TPad;
class TPaveLabel;
class TCanvas;
class HldGrepFileSource;
class HMdcTargetMon : public HReconstructor {
protected:
Bool_t mode;
TString typePrintFile;
TString formatEpsTo;
Bool_t deleteEpsFile;
HCategory* fMdcHitCat;
HIterator* iterMdcHit;
HLocation locHit;
HEventHeader* evHeader;
HGeomVector target;
Bool_t useRtdbTarger;
HldGrepFileSource *pHldGrepFSrc;
Bool_t isCoilOff;
Bool_t firstEvent;
UInt_t dateFEvent;
UInt_t timeFEvent;
UInt_t dateLEvent;
UInt_t timeLEvent;
UInt_t runId;
TString fileName;
TString fileNameR;
TString dateTime;
HGeomTransform* transf[24];
Int_t nPads[6];
TPad* fPads[6][18];
TPaveLabel* label;
Int_t mdcInSec[6];
Bool_t listMdc[24];
Double_t phi[24][500];
Double_t x[24][500];
Double_t y[24][500];
Double_t z[24][500];
Short_t nhits[24];
Double_t dPhiCut;
Double_t r0Cut;
Int_t combToMdc[6][2];
TH1F* dPhiH[6];
TH1F* r0H[6];
TH1F* zVerH[6][6];
TH1F* zVerDscH[6][6][10];
TH2S* zVerVsEventH[6][6];
Int_t histsMode;
Int_t nZmBins;
Double_t zmin;
Double_t zmax;
Int_t canvasWidth;
Int_t canvasHeight;
Char_t cnComb[6][100];
Char_t ctComb[6][100];
TCanvas* canvs[6];
TString addCnName;
TStopwatch timer;
UInt_t plotType;
Double_t timeStep;
Stat_t stat;
Bool_t sumOfFiles;
Int_t eventCounter;
Int_t numEventsSave;
Int_t collectNRuns;
Int_t runsCounter;
TString firstRunName;
TString lastRunName;
TH1F* dPhiForNR[6];
TH1F* r0ForNR[6];
TH1F* zVerForNR[6][6];
TH1F* zVerDscForNR[6][6][10];
TH2S* zVerVsEventForNR[6][6];
TCanvas* canvsForNR[6];
Char_t cnCombForNR[6][100];
Char_t ctCombForNR[6][100];
TPad* fPadsForNR[6][12];
Bool_t drawInOutTracks;
Int_t nRunsDraw;
Double_t leftTargetPoint;
Double_t rightTargetPoint;
Double_t* inTargetArr;
Double_t* allTargetArr;
Int_t inOutTargCurrRun;
TH1F* inOutTargetHist;
TString pathHistOneRun;
TString pathHistSumRun;
Bool_t fillSeg;
HCategory* fSegCat;
HLocation locSeg;
TCanvas *currCanvas;
TPad *currPad;
Int_t pad;
Int_t comb;
public:
HMdcTargetMon(Bool_t isClOff=kFALSE, UInt_t pt=0);
HMdcTargetMon(const Text_t *name,const Text_t *title, Bool_t isClOff=kFALSE,
UInt_t pt=0);
~HMdcTargetMon(void);
virtual Int_t execute(void);
virtual Bool_t init(void);
virtual Bool_t reinit(void);
virtual Bool_t finalize(void);
void drawCanvases(void);
void drawCanvasesRunsSum(void);
void setMode(Bool_t m,const Char_t* fileType=0);
void setHistPar(Int_t nb, Double_t z1, Double_t z2);
void setTargPos(Double_t xt, Double_t yt, Double_t zt);
void setTimeStep(Double_t tst) {timeStep = (tst<3.) ? 3.:tst;}
void setHistsMode(Int_t hMode) {histsMode = hMode;}
void drawDownScalHist(void) {histsMode = 1;}
void drawTrigCondHist(void) {histsMode = 2;}
void setFillSegFlag(Bool_t f=kTRUE) {fillSeg = f;}
void setRCut(Double_t rCut) {r0Cut = rCut;}
void setDPhiCut(Double_t dPh) {dPhiCut = dPh;}
void setDrawEachFile(void) {sumOfFiles = kFALSE;}
void setDrawSumOfFiles(void) {sumOfFiles = kTRUE;}
void setEachNEventsSave(Int_t nev) {numEventsSave = nev;}
void setCollectNRuns(Int_t nf) {collectNRuns = nf;}
void addToCanvasName(const Char_t* add) {addCnName = add;}
TH1F* setTargetZRegion(Double_t lpoint,Double_t rpoint,Int_t nRuns=100);
void setCanvasSize(Int_t ww, Int_t wh);
void setPathOneRunHits(const Char_t* p) {pathHistOneRun = p;}
void setPathSumRunsHits(const Char_t* p) {pathHistSumRun = p;}
void setConvertFormat(const Char_t* p,Bool_t delEps=kFALSE);
TH1F** getDPhiH(void) {return dPhiH;}
TH1F** getZ0H(void) {return r0H;}
TH1F** getZVerH(void) {return zVerH[0];}
TH1F** getZVerDscH(void) {return zVerDscH[0][0];}
TH2S** getZVerVsEventH(void) {return zVerVsEventH[0];}
private:
void setDefParam(UInt_t pt=0);
Bool_t initHists(void);
void initRunsSumHists(void);
void extractFileInfo(void);
void fillDateTime(void);
void setCanvName(void);
void setCanvNameForNR(void);
Int_t eventTime(void);
void saveCanvases(void);
void saveCanvasesForNR(void);
void saveCanvas(TCanvas* canv,TString& path);
void resetHists(void);
void resetHistsRunsSum(void);
void makePDF(const Char_t* psFile);
void addHistsToRunsSum(void);
void shiftArrays(void);
void fillInOutTargetHist(void);
void fillInOutTarHistBin(Int_t bin);
void setEntriesInOutTHist(void);
void drawPad(Double_t x1,Double_t y1,Double_t x2,Double_t y2);
void drawPadS(Double_t x1,Double_t y1,Double_t x2,Double_t y2);
ClassDef(HMdcTargetMon,0)
};
#endif
Last change: Sat May 22 13:03:41 2010
Last generated: 2010-05-22 13:03
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.