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 #include "GaudiKernel/MsgStream.h"
00017 //
00018 #include "AtlfastCode/Cell.h"
00019 #include "AtlfastCode/CellCollection.h"
00020 #include "AtlfastCode/ICellSelector.h"
00021 #include "AtlfastCode/CalSectionReject.h"
00022 #include "AtlfastCode/TransportedParticleCollection.h"
00023 #include "AtlfastCode/TransportedParticle.h"
00024 
00025 namespace Atlfast{
00032   class CalSection {
00033   public: 
00035     CalSection(
00036                MsgStream log,
00037                const double minEta,
00038                const double maxEta,
00039                const double granEta,
00040                const double granPhi,
00041                const double minPhi=-M_PI,
00042                const double maxPhi=M_PI);
00043     CalSection(const CalSection& c);
00044     ~CalSection();
00048     void reset();
00053     void deposit(const TPCollectionIter&, TPCollectionIter&);
00057     void giveHits(const ICellSelector*, CellCollection*) const;
00058 
00059   private:
00060 
00064     void newHit( const TPCollectionCIter & );
00065     //    Cell* findCell( const PhiPartCIter & );
00067     const double m_minEta;
00069     const double m_maxEta;
00071     const double m_minPhi;
00073     const double m_maxPhi;
00075     double m_granEta;
00077     double m_granPhi;
00079     int    m_nPhi;
00083     CalSectionReject m_calSectionReject;
00087     vector<Cell*> m_cells;
00088     map<int, Cell*, less<int> > m_hitCells;
00089     //    std::map<int, Cell*, less<int> > m_hitCells;
00090 
00092     /*#  CalSelect lnkCalSelect; */
00093 
00097     Cell * lnkCell;
00098   };
00099 }
00100 #endif
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 

Generated on Wed Jan 23 12:58:31 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001