00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef ATLFAST_CLUSTERKTSTRATEGY_H
00019 #define ATLFAST_CLUSTERKTSTRATEGY_H
00020
00021
00022 #ifndef STD_VECTOR_H
00023 #include <vector>
00024 #define STD_VECTOR_H
00025 #endif
00026
00027 #ifndef STD_MAP_H
00028 #include <map>
00029 #define STD_MAP_H
00030 #endif
00031
00032 #ifndef STD_STRING_H
00033 #include <string>
00034 #define STD_STRING_H
00035 #endif
00036
00037
00038 #ifndef ATLFAST_COLLECTIONDEFS_H
00039 #include "AtlfastEvent/CollectionDefs.h"
00040 #endif
00041
00042 #ifndef ATLFAST_ICLUSTERSTRATEGY_H
00043 #include "AtlfastUtils/IClusterStrategy.h"
00044 #endif
00045
00046 #ifndef ATLFAST_COLLECTIONDEFS_H
00047 #include "AtlfastEvent/CollectionDefs.h"
00048 #endif
00049
00050 class MsgStream;
00051
00052
00053
00054
00055 namespace Atlfast {
00056 class IKinematic;
00057 class Cluster;
00058
00059 typedef IKinematicCollection::const_iterator IKinematicConstIterator;
00060
00071 class ClusterKtStrategy: public IClusterStrategy {
00072 public:
00073
00075 ClusterKtStrategy(double,double,std::string,std::string,int);
00076
00079 virtual void makeClusters(
00080 MsgStream& log,
00081 const std::vector<IKinematic*>& storedCells,
00082 IKinematicVector& unusedCells,
00083 IClusterCollection* clusters) const;
00084
00085 private:
00087 double m_minClusterET;
00088 double m_rParameter;
00089 int m_subjet;
00090 int m_angle;
00091 int m_recom;
00092 };
00093
00094 }
00095
00096
00097 #endif
00098
00099
00100
00101
00102