00001 00002 // Package: AtNuReco 00003 // 00004 // AlgAtmosShowerList.h 00005 // 00006 // chapman@hep.phy.cam.ac.uk 00007 // blake@hep.phy.cam.ac.uk 00009 #ifndef ALGATMOSSHOWERLIST_H 00010 #define ALGATMOSSHOWERLIST_H 00011 00012 #include "Algorithm/AlgBase.h" 00013 #include <vector> 00014 #include "Validity/VldContext.h" 00015 00016 using std::vector; 00017 00018 class HitCamAtNu; 00019 class ClusterCamAtNu; 00020 class TrackSegmentCamAtNu; 00021 class TrackCamAtNu; 00022 class ShowerSegmentCamAtNu; 00023 class ShowerCamAtNu; 00024 class CandStripHandle; 00025 class CandSliceHandle; 00026 class CandTrackListHandle; 00027 00028 class AlgAtmosShowerList : public AlgBase 00029 { 00030 00031 public: 00032 AlgAtmosShowerList(); 00033 virtual ~AlgAtmosShowerList(); 00034 virtual void RunAlg(AlgConfig &ac, CandHandle &ch, CandContext &cx); 00035 virtual void Trace(const char *c) const; 00036 00037 void RunTheFinder(CandSliceHandle* slice, const CandTrackListHandle* tracklist); 00038 void FormTheHits(CandSliceHandle* slice); 00039 void FormTheClusters(); 00040 void IDTrkAndShwClusters(); 00041 void FormDummyTracks(CandSliceHandle* slice, const CandTrackListHandle* tracklist); 00042 void FindShowerLikeSegments();//new 00043 void DetermineShowerLikeShowerSegments();//new 00044 void Form2DShowers();//new 00045 void MatchShowers();//new 00046 void Form3DShowers(CandSliceHandle* slice);//new 00047 void FormVertexShowers(CandSliceHandle* slice);//new 00048 00049 private: 00050 vector<HitCamAtNu*> HitBank[500]; 00051 vector<ClusterCamAtNu*> ClusterBank[500]; 00052 vector<TrackSegmentCamAtNu*> SegmentBank[500]; 00053 00054 vector<ShowerSegmentCamAtNu*> ShowerSegmentBank;//new 00055 vector<ShowerSegmentCamAtNu*> ShowerViewSegBank[2];//new 00056 vector<ShowerSegmentCamAtNu*> ShowersFound[2];//new 00057 vector<ShowerCamAtNu*> ShowerBank[2];//new 00058 00059 00060 vector<TrackSegmentCamAtNu*> TempTrack[2]; 00061 00062 vector<TrackCamAtNu*> FinalTrackBank[2]; 00063 00064 VldContext *vldc; 00065 int NumModules; 00066 int PlanesInModule; 00067 int ModuleType; 00068 00069 00070 ClassDef(AlgAtmosShowerList,1) // AtmosShowerList Algorithm Class 00071 00072 }; 00073 00074 #endif // ALGATMOSSHOWERLIST
1.3.9.1