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 "AtlfastAlgs/CalSectionReject.h"
00019 #endif
00020 
00021 #ifndef ATLFAST_COLLECTIONDEFS_H
00022 #include "AtlfastEvent/CollectionDefs.h"
00023 #endif
00024 
00025 #ifndef ATLFAST_TRANSPORTEDPARTICLECOLLECTION_H
00026 #include "AtlfastAlgs/TransportedParticleCollection.h"
00027 #endif
00028 
00029 class MsgStream;
00030 
00031 namespace Atlfast{
00032   class ICellSelector;
00033   class EPileupDeposit;
00034   class ISmearer;
00041   class CalSection {
00042   public: 
00044     CalSection(
00045                MsgStream& log,
00046                const double minEta,
00047                const double maxEta,
00048                const double granEta,
00049                const double granPhi,
00050                const double minPhi=-M_PI,
00051                const double maxPhi=M_PI);
00052     CalSection(const CalSection& c);
00053     ~CalSection();
00057     void reset();
00062     void deposit(TransportedParticleCollectionIter&, 
00063                  TransportedParticleCollectionIter&);
00068     void deposit(std::vector<Atlfast::EPileupDeposit*>::iterator& , 
00069                  std::vector<Atlfast::EPileupDeposit*>::iterator& );
00073     void giveHits(const ICellSelector*, CellCollection*) const;
00074 
00078     void smearCells(ISmearer*);
00079   private:
00080 
00084     void newHit( const TransportedParticleCollectionCIter & );
00088     void newHit( const std::vector<Atlfast::EPileupDeposit*>::iterator & );
00089     //    Cell* findCell( const PhiPartCIter & );
00091     const double m_minEta;
00093     const double m_maxEta;
00095     const double m_minPhi;
00097     const double m_maxPhi;
00099     double m_granEta;
00101     double m_granPhi;
00103     int    m_nPhi;
00107     CalSectionReject m_calSectionReject;
00111     std::vector<Cell*> m_cells;
00112     std::map<int, Cell*, std::less<int> > m_hitCells;
00113 
00115     /*#  CalSelect lnkCalSelect; */
00116 
00120     Cell * lnkCell;
00121   };
00122 }
00123 #endif
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 

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