Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

mMuiRoadFinder1.h

Go to the documentation of this file.
00001 #ifndef __MMUIROADFINDER1_H__
00002 #define __MMUIROADFINDER1_H__
00003 
00004 #include "PHModule.h"
00005 #include "PHTimeServer.h"
00006 
00007 #include <mMuiRoadFinder1Par.h>
00008 #include <TMuiRoadMapO.h>
00009 #include <TMui1DRoadMapO.h>
00010 #include <TMuiClusterMapO.h>
00011 
00020 class mMuiRoadFinder1 : public PHModule
00021 {
00022  public:
00024   mMuiRoadFinder1();
00026   ~mMuiRoadFinder1();
00027 
00028   /* Find roads in one event's worth of data.   */
00029   PHBoolean event(PHCompositeNode* baseNode);
00030 
00031  private:
00032   /* Find 1d roads in both arms. */
00033   PHBoolean find_1droads();
00034   /* Find 2d roads in both arms. */
00035   PHBoolean find_2droads();    
00036   /* Make the first cuts (including exact duplicate) on 1d roads in both arms. */
00037   PHBoolean cut_1droads();
00038   /* Recursive method that tracks a stub to the next search gap. */
00039   int track_seed(TMui1DRoadMapO::pointer road1dptr, int iLoop, int iSearch);
00040   /* Find all the necessary maps on the node tree. */
00041   void set_interface_ptrs(PHCompositeNode* baseNode);
00042   /* Form a 2D road out of two 1D roads */
00043   int mMuiRoadFinder1::make2d(TMuiRoadMapO::pointer cRoad,
00044                               TMui1DRoadMapO::pointer pRoadH,
00045                               TMui1DRoadMapO::pointer pRoadV);
00046     /* Firt 1D road using its associated clusters and update its FitPar. */
00047   int fit1d(TMui1DRoadMapO::pointer road1dptr);
00048   /* Calculate the distance in 1d of the road with the unassociated cluster. */
00049   double ClusterDistance(TMui1DRoadMapO::pointer road1dptr, TMuiClusterMapO::pointer clustptr);
00050   /* Check that two clusters of opposite orientation actually intersect one another. */
00051   bool intersectionOK(TMuiClusterMapO::const_pointer clustH,
00052                       TMuiClusterMapO::const_pointer clustV) const;
00053   /* Group all 2D Roads and one per group as golden. */
00054   int flag_golden();
00055 
00056   // Interface pointers
00057   //
00058   const mMuiRoadFinder1Par* _mod_par;   // parameter table
00059   TMuiRoadMapO* _roadmap;
00060   TMui1DRoadMapO* _road1dmap;
00061   TMuiClusterMapO* _clustermap;
00062   PHTimeServer::timer _timer;
00063 
00064 };
00065 
00066 
00067 #endif /*__mMuiRoadFinder1_H__*/

MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: