#ifndef HMDCEXTRACTORS_H
#define HMDCEXTRACTORS_H
#include "TObject.h"
#include "TString.h"
#include "hlocation.h"
class HMdcHit;
class HMdcSeg;
class HMdcTrkCand;
class HMdcClusInf;
class HMdcClusFit;
class HKickTrack;
class HRecEvent;
class HMdcCal1Extractor : public TObject {
protected:
HLocation loccal;
HRecEvent* cpevent;
public:
HMdcCal1Extractor(HRecEvent* cpev=0);
~HMdcCal1Extractor();
void extract(HMdcSeg*,Int_t);
void clear();
ClassDef(HMdcCal1Extractor,1)
};
class HMdcWireFitExtractor : public TObject {
protected:
HLocation locwirefit;
HRecEvent* cpevent;
public:
HMdcWireFitExtractor(HRecEvent* cpev=0);
~HMdcWireFitExtractor();
void extract(HMdcClusFit*,HMdcClusFit*,Int_t);
void clear();
ClassDef(HMdcWireFitExtractor,1)
};
class HMdcClusFitExtractor : public TObject {
protected:
HRecEvent* cpevent;
HLocation locclusfit;
HMdcWireFitExtractor* wirefitext;
Bool_t wirefitlevel;
Int_t hitlookup[500];
Int_t hitcplookup[500];
Int_t hitctr;
public:
HMdcClusFitExtractor(HRecEvent* cpev=0);
~HMdcClusFitExtractor();
void extract(HMdcClusInf*,HMdcClusInf*,Int_t);
void setDataLevels(TString);
Int_t checkHitIndex(Int_t index){for(Int_t i=0;i<hitctr;i++){if(hitlookup[i]==index) return hitcplookup[i] ;}return -1;}
void resetLookups() {for(Int_t i=0;i<hitctr;i++){hitlookup[i]=-1;hitcplookup[i]=-1;}hitctr=0;}
void initLookups() {for(Int_t i=0;i<500;i++){hitlookup[i]=-1;hitcplookup[i]=-1;}hitctr=0;}
void clear();
ClassDef(HMdcClusFitExtractor,1)
};
class HMdcClusInfExtractor : public TObject {
protected:
HRecEvent* cpevent;
HMdcClusFitExtractor* clusfitext;
HLocation locclusinf;
Bool_t clusfitlevel;
Bool_t clusterlevel;
public:
HMdcClusInfExtractor(HRecEvent* cpev=0);
~HMdcClusInfExtractor();
void extract(HMdcHit*,HMdcHit*,Int_t);
void setDataLevels(TString);
void clear();
ClassDef(HMdcClusInfExtractor,1)
};
class HMdcHitExtractor : public TObject {
protected:
HRecEvent* cpevent;
HMdcClusInfExtractor* clusinfext;
Int_t hitct[6][4];
Int_t hitctr;
Int_t hitlookup[500];
HLocation lochit;
Bool_t clusinflevel;
public:
HMdcHitExtractor(HRecEvent* cpev=0);
~HMdcHitExtractor();
void extract(HMdcSeg*,HMdcSeg*,Int_t);
void setDataLevels(TString);
Bool_t checkHitIndex(Int_t index){for(Int_t i=0;i<hitctr;i++){if(hitlookup[i]==index) return kTRUE ;}return kFALSE;}
void resetLookup() {for(Int_t i=0;i<hitctr;i++){hitlookup[i]=-1;}hitctr=0;}
void initLookup() {for(Int_t i=0;i<500;i++){hitlookup[i]=-1;}hitctr=0;}
void resetCounters() {for(Int_t s=0;s<6;s++){for(Int_t m=0;m<4;m++){hitct[s][m]=0;}}}
void clear();
ClassDef(HMdcHitExtractor,1)
};
class HMdcSegExtractor : public TObject {
protected:
HRecEvent* cpevent;
Int_t segct[6][2];
Int_t seglookup[500];
Int_t segcplookup[500];
Int_t segctr;
HLocation locseg;
HLocation lockick;
Int_t kickct[6];
HMdcSegExtractor* segext;
HMdcHitExtractor* hitext;
HMdcCal1Extractor* cal1ext;
Bool_t kicklevel;
Bool_t hitlevel;
Bool_t callevel;
Int_t counter;
public:
HMdcSegExtractor(HRecEvent* cpev=0);
~HMdcSegExtractor();
void extract(HKickTrack*,HMdcSeg*,Int_t,Int_t&);
void extract(HMdcSeg*,Int_t);
void setDataLevels(TString);
Int_t checkSegIndex(Int_t index){for(Int_t i=0;i<segctr;i++){if(seglookup[i]==index) return segcplookup[i] ;}return -1;}
void resetLookup() {for(Int_t i=0;i<segctr;i++){seglookup[i]=-1;segcplookup[i]=-1;}segctr=0;}
void initLookup() {for(Int_t i=0;i<500;i++){seglookup[i]=-1;segcplookup[i]=-1;}segctr=0;}
void resetCounters() {for(Int_t s=0;s<6;s++){ kickct[s]=0; for(Int_t m=0;m<2;m++){segct[s][m]=0;}}}
void clear();
ClassDef(HMdcSegExtractor,1)
};
class HMdcTrkCandExtractor : public TObject {
protected:
HRecEvent* cpevent;
Int_t trkcandct[6];
Int_t trkcandlookup[500];
Int_t trkcandcplookup[500];
Int_t trkcandctr;
HLocation loctrkcand;
HMdcSegExtractor* segext;
Int_t counter;
public:
HMdcTrkCandExtractor(HRecEvent* cpev=0);
~HMdcTrkCandExtractor();
void extract(HKickTrack*,HMdcTrkCand*,Int_t);
void setDataLevels(TString);
Int_t checkTrkCandIndex(Int_t index){for(Int_t i=0;i<trkcandctr;i++){if(trkcandlookup[i]==index) return trkcandcplookup[i] ;}return -1;}
void resetLookup() {for(Int_t i=0;i<trkcandctr;i++){trkcandlookup[i]=-1;trkcandcplookup[i]=-1;}trkcandctr=0;}
void initLookup() {for(Int_t i=0;i<500;i++){trkcandlookup[i]=-1;trkcandcplookup[i]=-1;}trkcandctr=0;}
void resetCounters() {for(Int_t s=0;s<6;s++){ trkcandct[s]=0;}}
void clear();
ClassDef(HMdcTrkCandExtractor,1)
};
class HMdcWireInfoExtractor : public TObject {
protected:
HRecEvent* cpevent;
HLocation loccal;
Bool_t kicklevel;
Bool_t seglevel;
Bool_t hitlevel;
Bool_t clusinflevel;
Bool_t clusfitlevel;
Bool_t wirefitlevel;
Bool_t clusterlevel;
Bool_t callevel;
public:
HMdcWireInfoExtractor(HRecEvent* cpev=0);
~HMdcWireInfoExtractor();
void extract(HKickTrack*,Int_t);
void setDataLevels(TString);
void clear(){;}
ClassDef(HMdcWireInfoExtractor,1)
};
#endif /* HMDCEXTRACTORS_H */
Last change: Sat May 22 13:04:17 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.