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

SharedConeStrategy.h

Go to the documentation of this file.
00001 // ================================================
00002 // SharedConeStrategy class description
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00006 //
00007 //
00008 // Namespace Atlfast::
00009 //
00010 // class: SharedConeStrategy
00011 //
00012 // Authors: J.Couchman P.Sherwood
00013 //
00014 // ................................................................
00015 //
00016 
00017 
00018 #ifndef ATLFAST_SHAREDCONESTRATEGY_H
00019 #define ATLFAST_SHAREDCONESTRATEGY_H
00020 
00021 // STL
00022 #include <vector>
00023 #include <list>
00024 #include <map>
00025 
00026 // Other
00027 #include "CLHEP/Vector/LorentzVector.h"
00028 
00029 // Atlfast
00030 #ifndef ATLFAST_COLLECTIONDEFS_H
00031 #include "AtlfastEvent/CollectionDefs.h"
00032 #endif
00033 
00034 #include "AtlfastUtils/KinematicHelper.h"
00035 #include "AtlfastUtils/IClusterStrategy.h"
00036 
00037 class MsgStream;
00038 
00039 //*************************************
00040 //Default parameters for this algorithm
00041 // (descriptions in class declaration)
00042 //*************************************
00043 
00044 //***************************************************************
00045 //                 SharedConeStrategy class declaration
00046 //****************************************************************
00047 
00048 namespace Atlfast {
00049   class Cell;
00050   class Cluster;
00051   class IKinematic;
00063   class SharedConeStrategy:  public IClusterStrategy {
00064   public:
00065    
00066     
00067     SharedConeStrategy(
00068                         double rConeBarrel,
00069                         double rConeForward,
00070                         double minInitiatorET, 
00071                         double minClusterET,
00072                         double barrelForwardEta
00073                         );
00074  
00075     virtual ~SharedConeStrategy();
00076     virtual void makeClusters(
00077                               MsgStream& log, 
00078                               const localCellCollection& storedCells,
00079                               localCellCollection& unusedCells,
00080                               ClusterCollection* clusters) const;
00081  
00082   private:
00083 
00084     void CellAssociatedClusterEnergy(std::vector<const Cell*>::const_iterator,
00085                                        ClusterCollection::iterator,
00086                                        ClusterCollection::iterator,
00087                                        std::map<Cluster*,double>&) const;
00088 
00090     IClusterStrategy* m_coneStrategy;
00091     
00092     double m_rConeBarrel;
00093     double m_rConeForward;
00094     double m_minClusterET;
00095     double m_barrelForwardEta;
00096 
00097     class GetBackCells {
00098     private:
00099       localCellCollection& m_unusedCells;
00100     public:
00101       GetBackCells(localCellCollection& unusedCells) : m_unusedCells(unusedCells){}
00102       ~GetBackCells(){}
00103       void operator() ( IAssociationManager* );
00104       void operator() ( IAssociationManager& a){ return this->operator() ( &a) ; }
00105     };
00106   
00107   };
00108   
00109 
00110 
00111 } // end of namespace bracket
00112 
00113 
00114 #endif
00115 
00116 
00117 
00118 
00119 

Generated on Tue Jan 28 09:57:14 2003 for AtlfastAlgs by doxygen1.3-rc1