#ifndef HPIONTRACKERTRACKF_H #define HPIONTRACKERTRACKF_H #include "hreconstructor.h" class HCategory; class HIterator; class HPionTrackerTrackFPar; class HPionTrackerBeamPar; #include struct track { track() : fP(0), fTheta(0), fPhi(0), fMatch(0), fX1(0), fY1(0), fX2(0), fY2(0), fXh(0), fYh(0) {} Float_t fP; Float_t fTheta; Float_t fPhi; Float_t fMatch; Float_t fX1; Float_t fY1; Float_t fX2; Float_t fY2; Float_t fXh; Float_t fYh; }; class HPionTrackerTrackF : public HReconstructor { protected: HCategory * pHitCat; // pointer to the cal data HCategory * pTrackCat; // pointer to the hit data HIterator * iter; // iterator on cal data. HLocation lochit; // location of the cal object HLocation loc; // location for new hit object HPionTrackerTrackFPar * pTrackfpar; // hit finder parameters HPionTrackerBeamPar * pTrackBeampar; // hit finder parameters Int_t idet1 ; Int_t idet2 ; Int_t id_det1; // beam element Int_t id_det2; // beam element Int_t id_outQ9; // beam element Int_t id_targ; // beam element //------------------------------------------------------ // local vars Double_t T12[2]; //! Double_t T14[2]; //! Double_t T16[2]; //! Double_t T126[2]; //! Double_t T146[2]; //! Double_t T166[2]; //! Double_t T32[2]; //! Double_t T33[2]; //! Double_t T34[2]; //! Double_t T36[2]; //! Double_t T336[2]; //! Double_t T346[2]; //! Double_t T366[2]; //! Double_t T12_t; //! Double_t T14_t; //! Double_t T16_t; //! Double_t T126_t; //! Double_t T146_t; //! Double_t T166_t; //! Double_t T32_t; //! Double_t T33_t; //! Double_t T34_t; //! Double_t T36_t; //! Double_t T326_t; //! Double_t T336_t; //! Double_t T346_t; //! Double_t T366_t; //! Double_t T21_t; //! Double_t T22_t; //! Double_t T23_t; //! Double_t T24_t; //! Double_t T26_t; //! Double_t T226_t; //! Double_t T246_t; //! Double_t T266_t; //! Double_t T41_t; //! Double_t T42_t; //! Double_t T43_t; //! Double_t T44_t; //! Double_t T46_t; //! Double_t T426_t; //! Double_t T436_t; //! Double_t T446_t; //! Double_t T466_t; //! Int_t nev ; //! EVENT COUNTER FOR FILE std::ifstream inputpos; //! //------------------------------------------------------ void initVars(); void insertTrack(const track & tr); Bool_t momrec (Float_t x1, Float_t y1, Float_t x2, Float_t y2, Float_t momref, track & tr); public: HPionTrackerTrackF (void); HPionTrackerTrackF (const Text_t * name, const Text_t * title, Bool_t skip = kFALSE); ~HPionTrackerTrackF (void); void setBeamElements(Int_t id1,Int_t id2,Int_t outQ9,Int_t idtarg) { id_det1=id1; id_det2=id2; id_outQ9=outQ9; id_targ=idtarg; } Bool_t init (void); Bool_t reinit (void); Int_t execute (void); Bool_t finalize (void) {return kTRUE;} ClassDef (HPionTrackerTrackF, 0) // Hit finder cal->hit for PionTracker }; #endif /* !HPIONTRACKERTRACKF_H */