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

CalSection.h

Go to the documentation of this file.
00001 //=================================================
00002 //
00003 // Calsection.h
00004 //
00005 // Author: Peter Sherwood
00006 // Rudimentary Geometry information for a calorimeter
00007 // section
00008 //
00009 //===================================================
00010 #ifndef ATLFAST_CALSECTION_H
00011 #define ATLFAST_CALSECTION_H
00012 #include <cmath>
00013 #include <vector>
00014 #include <map>
00015 //
00016 //
00017 #ifndef ATLFAST_CALSECTIONREJECT_H
00018 #include "AtlfastCode/CalSectionReject.h"
00019 #endif
00020 
00021 #ifndef ATLFAST_CELLCOLLECTION_H
00022 #include "AtlfastCode/CellCollection.h"
00023 #endif
00024 
00025 #ifndef ATLFAST_TRANSPORTEDPARTICLECOLLECTION_H
00026 #include "AtlfastCode/TransportedParticleCollection.h"
00027 #endif
00028 
00029 class MsgStream;
00030 
00031 namespace Atlfast{
00032   class ICellSelector;
00039   class CalSection {
00040   public: 
00042     CalSection(
00043                MsgStream& log,
00044                const double minEta,
00045                const double maxEta,
00046                const double granEta,
00047                const double granPhi,
00048                const double minPhi=-M_PI,
00049                const double maxPhi=M_PI);
00050     CalSection(const CalSection& c);
00051     ~CalSection();
00055     void reset();
00060     void deposit(TransportedParticleCollectionIter&, 
00061                  TransportedParticleCollectionIter&);
00065     void giveHits(const ICellSelector*, CellCollection*) const;
00066 
00067   private:
00068 
00072     void newHit( const TransportedParticleCollectionCIter & );
00073     //    Cell* findCell( const PhiPartCIter & );
00075     const double m_minEta;
00077     const double m_maxEta;
00079     const double m_minPhi;
00081     const double m_maxPhi;
00083     double m_granEta;
00085     double m_granPhi;
00087     int    m_nPhi;
00091     CalSectionReject m_calSectionReject;
00095     std::vector<Cell*> m_cells;
00096     std::map<int, Cell*, less<int> > m_hitCells;
00097 
00099     /*#  CalSelect lnkCalSelect; */
00100 
00104     Cell * lnkCell;
00105   };
00106 }
00107 #endif
00108 
00109 
00110 
00111 
00112 
00113 
00114 
00115 
00116 

Generated on Thu Feb 21 14:30:45 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001