00001
00002
00003
00004
00005 #ifndef ATLFAST_CALORIMETER_H
00006 #define ATLFAST_CALORIMETER_H
00007
00008 #include <vector>
00009 #include <string>
00010
00011 #include "GaudiKernel/MsgStream.h"
00012
00013 #include "AtlfastCode/CellCollection.h"
00014 #include "AtlfastCode/TransportedParticleCollection.h"
00015
00016 namespace Atlfast {
00017 class CalSection;
00018 class ICellSelector;
00030 class Calorimeter {
00031
00032 public:
00037 Calorimeter(
00038 MsgStream log,
00039 const double etaCoverage,
00040 const double barrelForwardEta,
00041 const double granBarrelEta,
00042 const double granBarrelPhi,
00043 const double granForwardEta,
00044 const double granForwardPhi
00045 );
00047 ~Calorimeter();
00049 Calorimeter(const Calorimeter&);
00050
00056 void deposit(TransportedParticleCollectionIter& first,
00057 TransportedParticleCollectionIter& last) const;
00061 void reset();
00062
00066 void giveHitCells(const ICellSelector*, CellCollection*);
00067
00068 private:
00073 CalSection* m_section[3];
00074
00075 };
00076 }
00077 #endif
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095