Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

AlgTrackCamList.h

Go to the documentation of this file.
00001 
00002 // Package: CandTrackCam
00003 //
00004 // AlgTrackCamList
00005 //
00006 // marshall@hep.phy.cam.ac.uk
00008 #ifndef ALGTRACKCAMLIST_H
00009 #define ALGTRACKCAMLIST_H
00010 
00011 #include "Algorithm/AlgBase.h"
00012 #include <vector>
00013 #include "Validity/VldContext.h"
00014 
00015 using std::vector;
00016 
00017 class HitCam;
00018 class ClusterCam;
00019 class TrackSegmentCam;
00020 class TrackCam;
00021 
00022 
00023 class AlgTrackCamList : public AlgBase
00024 {
00025   
00026  public:
00027   AlgTrackCamList();
00028   virtual ~AlgTrackCamList();
00029   virtual void RunAlg(AlgConfig &ac, CandHandle &ch, CandContext &cx);
00030   virtual void Trace(const char *c) const;
00031 
00032   void RunTheFinder(CandSliceHandle* slice);
00033   void FormTheHits(CandSliceHandle* slice);
00034   void FormTheClusters();
00035   void IDTrkAndShwClusters();
00036   void FormTriplets();
00037   void FindAllAssociations();
00038   void FindPreferredJoins();
00039   void FindMatchedJoins();
00040   void FirstUVComparison();
00041   void Form2DTracks();
00042   void Join2DTracks();
00043   void SecondUVComparison();
00044   void Form3DTracks(CandSliceHandle* slice);
00045   void LookForHitsAcrossGap(TrackCam* Trk);
00046   void ExtendTrack(TrackCam* Trk);
00047   void FillGapsInTrack(TrackCam* Trk);
00048   void NearDetectorTriplets();
00049   void ClearUp();
00050   void MatchUV(TrackCam* trku, TrackCam* trkv);
00051 
00052  private:
00053   vector<HitCam*> AllHitBank[500];
00054 
00055   vector<HitCam*> HitBank[500];
00056 
00057   vector<HitCam*> HitsInTracks[2];
00058 
00059   vector<ClusterCam*> ClusterBank[500];
00060 
00061   vector<ClusterCam*> ClusterList[500];
00062 
00063   vector<TrackSegmentCam*> SegmentBank[500];
00064   vector<TrackSegmentCam*> NDSegmentBank[500];
00065   
00066   vector<TrackSegmentCam*> ViewSegBank[2];
00067   vector<TrackSegmentCam*> TempTrack[2];
00068 
00069   vector<TrackSegmentCam*> PossibleJoins[2];
00070 
00071   vector<TrackCam*> FinalTrackBank[2];
00072 
00073 
00074   VldContext *vldc;
00075   int NumModules;
00076   int PlanesInModule;
00077   int ModuleType;
00078   const double StripWidth;
00079 
00080   double PECut, PECut2;
00081 
00082   bool CambridgeAnalysis;
00083 
00084 
00085 ClassDef(AlgTrackCamList,1)  // TrackCamList Algorithm Class
00086     
00087 };
00088 
00089 #endif // ALGTRACKCAMLIST

Generated on Mon Feb 15 11:06:20 2010 for loon by  doxygen 1.3.9.1