/** * \file ExtTrack.h * \author Elena Vannuccini */ #ifndef exttrack_h #define exttrack_h #include #include /** * \brief Struct to pass mini2 track parameters to F77 routines */ #define NPLANEMAX 56 struct cMiniExtTrack { double al[5]; double xm[NPLANEMAX],ym[NPLANEMAX],zm[NPLANEMAX]; double xm_a[NPLANEMAX],ym_a[NPLANEMAX],zm_a[NPLANEMAX]; double xm_b[NPLANEMAX],ym_b[NPLANEMAX],zm_b[NPLANEMAX]; double resx[NPLANEMAX],resy[NPLANEMAX]; double tailx[NPLANEMAX],taily[NPLANEMAX]; double xgood[NPLANEMAX],ygood[NPLANEMAX]; double dedxtrk_x[NPLANEMAX]; double dedxtrk_y[NPLANEMAX]; double zini; double pfixed; double chi2; double xv[NPLANEMAX],yv[NPLANEMAX],zv[NPLANEMAX]; double axv[NPLANEMAX],ayv[NPLANEMAX]; double cov[5][5]; double fact; int nstep; int idcand; int trackmode; int istepmin; int nplanes; }; extern "C" { extern struct cMiniExtTrack exttrack_; void miniext_(int*,int*,int*); void guessext_(); } class ExtTrack : public TObject { private: public: float zini; float al[5]; ///0 ? 1./sqrt(coval[4][4]) : 0.); }; Bool_t IsSaturated(int,int); Bool_t IsSaturated(int); Bool_t IsSaturated(); Bool_t IsBad(int,int); Int_t GetLeverArmXY(); Int_t GetLeverArmX(); Int_t GetLeverArmY(); Float_t GetChi2X(); //EM Float_t GetChi2Y(); //EM /* Bool_t IsInsideCavity(float); */ /* Bool_t IsInsideCavity(){ return IsInsideCavity(0.); } */ Bool_t IsInsideAcceptance(float); // EM Bool_t IsInsideAcceptance(){ return IsInsideAcceptance(0.); } //EM /* Bool_t IsInsideGFSurface(const char*,float); */ /* Bool_t IsInsideGFSurface(const char* surf){ return IsInsideGFSurface(surf,0.); } */ /* Bool_t BadClusterX(int ip){ return IsBad(ip,0); } */ /* Bool_t BadClusterY(int ip){ return IsBad(ip,1); } */ /* Bool_t SaturatedClusterX(int ip){ return IsSaturated(ip,0); } */ /* Bool_t SaturatedClusterY(int ip){ return IsSaturated(ip,1); } */ ClassDef(ExtTrack,3); }; #endif