// $Id$ // // File: DParticle_factory_THROWN.h // Created: Sat Oct 4 22:04:56 EDT 2008 // Creator: davidl (on Darwin Amelia.local 8.11.1 i386) // #ifndef _DParticle_factory_THROWN_ #define _DParticle_factory_THROWN_ #include #include #include "DParticle.h" class DParticle_factory_THROWN:public jana::JFactory{ public: DParticle_factory_THROWN(); ~DParticle_factory_THROWN(){}; const char* Tag(void){return "THROWN";} typedef DReferenceTrajectory::swim_step_t swim_step_t; private: enum fit_type_t{ kWireBased, kTimeBased }; DCoordinateSystem *target; int DEBUG_LEVEL; double SIGMA_CDC; double SIGMA_FDC_ANODE; double SIGMA_FDC_CATHODE; //jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *eventLoop, int runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *eventLoop, int eventnumber); ///< Called every event. //jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called. //jerror_t fini(void); ///< Called after last event of last event source has been processed. vector rt_pool; vector cov; vector cdchits; vector fdchits; void AddCDCTrackHits(DReferenceTrajectory *rt, vector &cdctrackhits); void AddFDCPseudoHits(DReferenceTrajectory *rt, vector &fdcpseudos); double ChiSq(DReferenceTrajectory *rt, vector &wires, vector &shifts, vector &errs, vector &chisqv, double *chisq_ptr, int *dof_ptr); void GetWiresShiftsErrs(fit_type_t fit_type, DReferenceTrajectory *rt, vector &wires, vector &shifts, vector &errs); }; #endif // _DParticle_factory_THROWN_