#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; //---------------------------CAL1--------------------------------------------------- class HMdcCal1Extractor : public TObject { protected: HLocation loccal; //! location for new cal object. HRecEvent* cpevent; //! pointer to copy event public: HMdcCal1Extractor(HRecEvent* cpev=0); ~HMdcCal1Extractor(); void extract(HMdcSeg*,Int_t); void clear(); ClassDef(HMdcCal1Extractor,1) // extracts cal hit on a MDC }; //---------------------------WIREFIT------------------------------------------------ class HMdcWireFitExtractor : public TObject { protected: HLocation locwirefit; //! location for new wirefit object. HRecEvent* cpevent; //! pointer to copy event public: HMdcWireFitExtractor(HRecEvent* cpev=0); ~HMdcWireFitExtractor(); void extract(HMdcClusFit*,HMdcClusFit*,Int_t); void clear(); ClassDef(HMdcWireFitExtractor,1) // extracts WireFit on a MDC }; //---------------------------CLUSFIT------------------------------------------------ class HMdcClusFitExtractor : public TObject { protected: HRecEvent* cpevent; //! pointer to copy event HLocation locclusfit; //! location for new clusfit object HMdcWireFitExtractor* wirefitext; //! pointer to wirefit extractor Bool_t wirefitlevel; //! Int_t hitlookup[500]; //! book keeping of hit index Int_t hitcplookup[500]; //! book keeping of copied hit index Int_t hitctr; //! counter of hits in lookup 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