Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DChargedTrack_factory_PreSelect.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DChargedTrack_factory_PreSelect.h
4 // Created: Mon Dec 7 14:29:24 EST 2009
5 // Creator: staylor (on Linux ifarml6 2.6.18-128.el5 x86_64)
6 //
7 
8 #ifndef _DChargedTrack_factory_PreSelect_
9 #define _DChargedTrack_factory_PreSelect_
10 
11 #include <JANA/JFactory.h>
12 #include <PID/DChargedTrack.h>
15 
16 using namespace std;
17 using namespace jana;
18 
19 class DChargedTrack_factory_PreSelect : public jana::JFactory<DChargedTrack>
20 {
21  public:
24  const char* Tag(void){return "PreSelect";}
25 
26  private:
27  jerror_t init(void); ///< Called once at program start.
28  jerror_t brun(jana::JEventLoop *locEventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
29  jerror_t evnt(jana::JEventLoop *locEventLoop, uint64_t eventnumber); ///< Called every event.
30  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
31  jerror_t fini(void); ///< Called after last event of last event source has been processed.
32 
33  bool Cut_HasDetectorMatch(const DChargedTrackHypothesis* locChargedTrackHypothesis, const DDetectorMatches* locDetectorMatches) const;
34  bool Cut_TrackingFOM(const DChargedTrackHypothesis* locChargedTrackHypothesis) const;
35 
36  //Command-line values will override these
37  double dMinTrackingFOM; //PRESELECT:MIN_TRACKING_FOM
38  bool dHasDetectorMatchFlag; //PRESELECT:HAS_DETECTOR_MATCH_FLAG: if true/false, do/don't require tracks to have a detector match
39 };
40 
41 #endif // _DChargedTrack_factory_PreSelect_
42