Cluster.cxx

Go to the documentation of this file.
00001 // Cluster implementation
00002 //
00003 
00004 #include "AtlfastEvent/Cluster.h"
00005 #include "AtlfastEvent/IAOOvisitor.h"
00006 #include "boost/any.hpp"
00007 //#include "Navigation/INavigable.h"
00008 #include "Navigation/INavigationToken.h"
00009 
00010 namespace Atlfast {
00012   Cluster::Cluster( const Cluster& src ):
00013     Atlfast::IAOO(src),
00014     INavigable(src),
00015     I4Momentum(src),
00016     INavigable4Momentum(src),
00017     Atlfast::IKinematic(src),
00018     Atlfast::IAODNavigation(src),
00019     Atlfast::ICluster(src),
00020     AODNavigationImp(src){ 
00021     m_momentum = src.m_momentum;
00022   }
00024   Cluster& Cluster::operator=( const Cluster& src ){
00025     
00026     if( this == &src) return *this;
00027 
00028     AODNavigationImp::operator=(src );
00029     m_momentum = src.m_momentum;
00030 
00031     return *this;
00032   }
00034   
00035   Cluster::Cluster() : 
00036     AODNavigationImp(),
00037     m_momentum(HepLorentzVector(0.0,0.0,0.0,0.0)){
00038   }
00039 
00041   HepLorentzVector Cluster::momentum() const {return m_momentum; } 
00042   double  Cluster::eta() const { return m_momentum.pseudoRapidity() ;}
00043   double  Cluster::phi() const { return m_momentum.phi() ;  } 
00044   double  Cluster::pT()  const { return m_momentum.perp() ;}
00045   double  Cluster::mT()  const { return m_momentum.mt(); }   
00046   double  Cluster::eT()  const { 
00047     return  m_momentum.e()*m_momentum.perp()/m_momentum.rho() ;
00048   }
00049   IKinematic* Cluster::clone() const{
00050     IKinematic* ik = new Cluster(*this);
00051     return ik;
00052   }
00054   void Cluster::accept(IAOOvisitor* iaPtr) const {
00055     iaPtr->process(this);
00056   }
00058   void Cluster::setMomentum(const HepLorentzVector& vec) {
00059     m_momentum=vec;
00060   }
00061 
00063   void Cluster::fillToken(INavigationToken& token) const{
00064     this-> fillNavTokenFromAssocs(token);
00065   }
00067   void Cluster::fillToken(INavigationToken&,const boost::any&) const{
00068   }
00070   void Cluster::print(const std::string& coor, std::string t) const{
00071     AODNavigationImp::print(coor, t);
00072     std::cout<<t<<std::string(73,' ')<<"Cluster"<<std::endl;
00073   }
00074 
00075 } // end of namespace bracket
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 

Generated on Fri Sep 21 13:00:09 2007 for AtlfastEvent by  doxygen 1.5.1