Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Cell.h

Go to the documentation of this file.
00001 // Cell class
00002 //
00003 #ifndef ATLFAST_CELL_H
00004 #define ATLFAST_CELL_H
00005 
00006   
00007 #ifndef GAUDIKERNEL_CONTAINEDOBJECT_H
00008 #include "GaudiKernel/ContainedObject.h"
00009 #define GAUDIKERNEL_CONTAINEDOBJECT_H
00010 #endif
00011 
00012 #ifndef GAUDIKERNEL_OBJECTFACTORY_H
00013 #include "GaudiKernel/ObjectFactory.h"
00014 #define GAUDIKERNEL_OBJECTFACTORY_H
00015 #endif
00016 
00017 #ifndef CLHEP_LORENTZVECTOR_H
00018 #include "CLHEP/Vector/LorentzVector.h"
00019 #define CLHEP_LORENTZVECTOR_H
00020 #endif
00021 
00022 
00023 #ifndef ATLFAST_IKINEMATIC_H
00024 #include "AtlfastEvent/IKinematic.h"
00025 #endif
00026 
00027 #ifndef ATLFAST_CELLDESCRIPTOR_H
00028 #include "AtlfastEvent/CellDescriptor.h"
00029 #endif
00030 
00031 #ifndef ATLFAST_ASSOCIATIONMANAGER_H
00032 #include "AtlfastEvent/AssociationManager.h"
00033 #endif
00034 
00035 #ifndef STD_VECTOR_H
00036 #include <vector>
00037 #define STD_VECTOR_H
00038 #endif
00039 
00040 // Class ID for Cell class
00041 static const CLID CLID_ATLFAST_CELL=2301 ;
00042 
00043 namespace HepMC{
00044   class GenParticle;
00045 }
00046 namespace Atlfast {
00047   using HepMC::GenParticle;
00048 
00055   class Cell : 
00056     public ContainedObject, 
00057     public IKinematic, 
00058     public AssociationManager {
00059     public:
00061     Cell();
00063     Cell(const CellDescriptor& cellID);
00065     Cell(const Cell&) ; 
00067     Cell& operator=(const Cell&); 
00069     virtual ~Cell() { } 
00071     static const  CLID& classID()    { return CLID_ATLFAST_CELL; }
00073     virtual const CLID& clID() const { return CLID_ATLFAST_CELL; }
00077     void newHit(const GenParticle* part);
00081     void reset();
00085     virtual HepLorentzVector momentum() const;
00089     virtual double eta() const {return m_id.eta();}
00093     virtual double phi() const {return m_id.phi();} 
00097     virtual double pT()  const {return m_ptSum;}
00101     virtual double eT() const {return m_ptSum;} 
00105     virtual double mT() const {return 0;} // HTP FIXME!!!!
00106     
00110     int numberOfHits() const {return m_particles.size();}
00111     
00116     std::vector<const GenParticle*> particles() const {return m_particles;}
00117     
00118     private:
00119     
00123     CellDescriptor m_id;
00127     double         m_ptSum;
00128     HepLorentzVector m_momentum; 
00132     std::vector<const GenParticle*> m_particles;
00133       
00134   };
00135 }  //end of namespace bracket
00136 #endif
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 

Generated on Wed May 1 14:35:46 2002 for AtlfastEvent by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001