#ifndef HMETAMATCH_H
#define HMETAMATCH_H
#include "hreconstructor.h"
#include "TString.h"
#include "TObject.h"
#define RICH_TAB_SIZE 3
class HMetaMatch:public TObject {
private:
Short_t trkCandInd;
Short_t showerHitInd;
Short_t tofHitInd;
Short_t nCandForMeta;
Short_t nextCandForMeta;
Short_t firstCandForMeta;
Float_t qualityTOF;
Float_t qualitySHOWER;
Float_t dxMeta;
Float_t dyMeta;
Short_t splineInd;
Short_t rtInd;
Short_t kickInd;
Short_t kick123Ind;
Short_t rungeKuttaInd;
Char_t sector;
Short_t nRichId;
Short_t nRichIPUId;
Int_t aRichIndTable[RICH_TAB_SIZE];
Int_t aRichIPUIndTable[RICH_TAB_SIZE];
Char_t flag;
Char_t tofClusterSize;
Short_t indMMForTofClst;
Short_t nextMMForTofHit;
Short_t numMMForSameMeta;
Short_t nextMMForSameMeta;
Short_t firstMMForSameMeta;
Float_t xSegCr;
Float_t ySegCr;
public:
HMetaMatch();
~HMetaMatch(){;}
HMetaMatch(Short_t sec, Short_t tkInd, Short_t ind);
HMetaMatch(HMetaMatch* fMetaMatch, Short_t ind);
HMetaMatch& operator=(HMetaMatch& met);
void setTrkCandInd(Short_t trkind){trkCandInd=trkind;}
void setMetaHitInd(Short_t shower, Short_t tof){
showerHitInd=shower; tofHitInd=tof;}
void setShowerHitInd(Short_t shower) {showerHitInd=shower;}
void setTofHitInd(Short_t tof) {tofHitInd=tof;}
void setTofClusterSize(Char_t clsz) {tofClusterSize=clsz;}
void setNCandForMeta(Short_t nmeta){nCandForMeta=nmeta;}
void setNextCandForMeta( Short_t nextmeta){nextCandForMeta=nextmeta;}
void setFirstCandForMeta(Short_t firstmeta){firstCandForMeta=firstmeta;}
void setNumMMForSameTrCnd(Short_t nmeta){nCandForMeta=nmeta;}
void setNextMMForSameTrCnd( Short_t nextmeta){nextCandForMeta=nextmeta;}
void setFirstMMForSameTrCnd(Short_t firstmeta){firstCandForMeta=firstmeta;}
void setQualityTOF(Float_t QUALITYTOF) {qualityTOF=QUALITYTOF;}
void setQualitySHOWER(Float_t QUALITYSHOWER){qualitySHOWER=QUALITYSHOWER;}
void setdxMeta(Float_t DXMETA) {dxMeta=DXMETA;}
void setdyMeta(Float_t DYMETA) {dyMeta=DYMETA;}
void setMdcSegCross(Float_t x, Float_t y) {xSegCr=x; ySegCr=y;}
void setSplineInd( Short_t splind);
void setRtInd( Short_t rtind);
void setKickInd( Short_t kicktr);
void setKick123Ind( Short_t kicktr);
void setRungeKuttaInd( Short_t rktr);
void setSector( Char_t sec) {sector=sec;}
void setNCandForRich( Short_t nrich){nRichId=nrich;}
void setNCandForIPU( Short_t nrich){nRichIPUId=nrich;}
void setARichInd( Short_t id, Short_t richind) {
if(id>=0&& id<RICH_TAB_SIZE) aRichIndTable[id] = richind;}
void setARichIPUInd( Short_t id, Short_t richind) {
if(id>=0&& id<RICH_TAB_SIZE) aRichIPUIndTable[id] = richind;}
void setIndMMForTofClst(Short_t ind) {indMMForTofClst=ind;}
void setNextMMForTofHit(Short_t ind) {nextMMForTofHit=ind;}
void setNumMMForSameMeta(Short_t n) {numMMForSameMeta=n;}
void setNextMMForSameMeta(Short_t ind) {nextMMForSameMeta=ind;}
void setFirstMMForSameMeta(Short_t ind) {firstMMForSameMeta=ind;}
Short_t getTrkCandInd(void) const {return trkCandInd;}
Short_t getNCandForMeta(void) const {return nCandForMeta;}
Short_t getFirstCandForMeta(void) const {return firstCandForMeta;}
Short_t getNextCandForMeta(void) const {return nextCandForMeta;}
Short_t getNumMMForSameTrCnd(void) const {return nCandForMeta;}
Short_t getFirstMMForSameTrCnd(void) const {return firstCandForMeta;}
Short_t getNextMMForSameTrCnd(void) const {return nextCandForMeta;}
Float_t getQualityTOF(void){return qualityTOF;}
Float_t getQualitySHOWER(void) {return qualitySHOWER;}
Float_t getdxMeta(void) {return dxMeta;}
Float_t getdyMeta(void) {return dyMeta;}
Short_t getSplineInd(void) const {return splineInd;}
Short_t getRtInd(void) const {return rtInd;}
Short_t getKickInd(void) const {return kickInd;}
Short_t getKick123Ind(void) const {return kick123Ind;}
Short_t getRungeKuttaInd(void) const {return rungeKuttaInd;}
Char_t getSector(void) const {return sector;}
Bool_t isOverlap(void) const {
return (showerHitInd>-1 && tofHitInd>-1) ? kTRUE:kFALSE; }
Short_t getMetaHitInd(void) const {
return (getSystem()==1) ? tofHitInd:showerHitInd;}
Int_t getSystem(void) const {
return (tofHitInd>-1) ? 1 : ((showerHitInd>-1) ? 0:-1); }
Short_t getShowerHitInd(void) const {return showerHitInd;}
Short_t getTofHitInd(void) const {return tofHitInd;}
Char_t getTofClusterSize(void) const {return tofClusterSize;}
void getMdcSegCross(Float_t& x, Float_t& y) {x=xSegCr; y=ySegCr;}
Float_t getXSegCross(void) const {return xSegCr;}
Float_t getYSegCross(void) const {return ySegCr;}
Short_t getNCandForRich(void) const {return nRichId;}
Short_t getNCandForIPU(void) const {return nRichIPUId;}
Short_t getARichInd(const Short_t id) const {
return (id<RICH_TAB_SIZE) ? aRichIndTable[id]:-1;}
Short_t getARichIPUInd(const Short_t id) const {
return (id<RICH_TAB_SIZE) ? aRichIPUIndTable[id]:-1;}
Short_t getIndMMForTofClst(void) const {return indMMForTofClst;}
Short_t getNextMMForTofHit(void) const {return nextMMForTofHit;}
Short_t getNumMMForSameMeta(void) const {return numMMForSameMeta;}
Short_t getNextMMForSameMeta(void) const {return nextMMForSameMeta;}
Short_t getFirstMMForSameMeta(void) const {return firstMMForSameMeta;}
inline void incrNumMMForSameTrkCnd(void);
void setSplineAccept(void) {flag |= 1;}
void setRtAccept(void) {flag |= 2;}
void setKickAccept(void) {flag |= 4;}
void setKick123Accept(void) {flag |= 8;}
void setRungeKuttaAccept(void){flag |= 16;}
void unsetSplineAccept(void) {flag &= ~1;}
void unsetRtAccept(void) {flag &= ~2;}
void unsetKickAccept(void) {flag &= ~4;}
void unsetKick123Accept(void) {flag &= ~8;}
void unsetRungeKuttaAccept(void){flag &= ~16;}
Bool_t isSplineAccepted(void) const {return (flag&1) ? kTRUE:kFALSE;}
Bool_t isRtAccepted(void) const {return (flag&2) ? kTRUE:kFALSE;}
Bool_t isKickAccepted(void) const {return (flag&4) ? kTRUE:kFALSE;}
Bool_t isKick123Accepted(void) const {return (flag&8) ? kTRUE:kFALSE;}
Bool_t isRungeKuttaAccepted(void) const{return (flag&16) ? kTRUE:kFALSE;}
void print(void);
ClassDef(HMetaMatch,5)
};
void HMetaMatch::incrNumMMForSameTrkCnd(void) {
if(nCandForMeta<=0) nCandForMeta=1;
else nCandForMeta++;
}
#endif
Last change: Sat May 22 13:04:38 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.