00001
00002 #ifndef ATLFAST_KTCLUSTER_H
00003 #define ATLFAST_KTCLUSTER_H
00004
00005 #ifndef ATLFAST_IKTCLUSTER_H
00006 #include "AtlfastEvent/IKtCluster.h"
00007 #endif
00008
00009 #ifndef ATLFAST_CLUSTER_H
00010 #include "AtlfastEvent/Cluster.h"
00011 #endif
00012
00013 #ifndef ATLFAST_IKINEMATIC_H
00014 #include "AtlfastEvent/IKinematic.h"
00015 #endif
00016
00017 namespace Atlfast {
00021 class KtCluster :
00022 virtual public IKtCluster, private Cluster {
00023 public:
00025
00026 template <class CellIter>
00027 KtCluster( const HepLorentzVector&, CellIter, CellIter, double );
00028 KtCluster( const KtCluster& );
00029 KtCluster& operator=( const KtCluster&);
00030 KtCluster();
00031 virtual ~KtCluster() {}
00032
00033 virtual IKtCluster* cloneIKTC() const;
00034
00036 virtual void accept(IAOOvisitor* iaPtr) const;
00037
00039 virtual void print(const std::string& coor, std::string t="" ) const;
00040
00041
00043 virtual IKinematic* clone() const;
00044
00045 double yCut() const {return m_yCut;}
00046 private:
00047 double m_yCut;
00048 };
00050
00052
00053 template <class CellIter>
00054 inline
00055 KtCluster::KtCluster( const HepLorentzVector& vec, CellIter first, CellIter last,double yCut ):
00056 Cluster(vec,first,last), m_yCut(yCut){}
00057
00058 }
00059 #endif
00060