00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __ATLFAST_Celldumper__
00011 #define __ATLFAST_Celldumper__
00012
00013
00014 #include <vector>
00015 #include <string>
00016
00017
00018 #include "GaudiKernel/MsgStream.h"
00019
00020
00021 #include "CLHEP/Vector/LorentzVector.h"
00022
00023
00024 #include "AtlfastCode/ICellWrapper.h"
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 namespace Atlfast {
00041 class CellDumper{
00042 public:
00046 CellDumper(std::vector<ICellWrapper*> c, std::string label):
00047 m_cells(c), m_label(label){} ;
00051 void sortByEta();
00055 void dump();
00059 double totalPt(){return sumPt(m_cells.begin(), m_cells.end());}
00063 void findShared(const CellDumper&)const ;
00064 ~CellDumper(){};
00065 private:
00069 double sumPt(const std::vector<ICellWrapper*>::const_iterator,
00070 const std::vector<ICellWrapper*>::const_iterator)const;
00075 void oneDump(const ICellWrapper*) const;
00080 void findParticleMatch (const std::vector<ICellWrapper*>&,
00081 const std::vector<ICellWrapper*>&) const;
00082
00086 std::vector<ICellWrapper*> m_cells;
00090 std::string m_label;
00091 };
00092
00093
00094 }
00095
00096 #endif
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107