00001 // Cell Maker.h 00002 // 00003 // HTP tidied up and put into namespace 00004 00005 #ifndef ATLFAST_CELLMAKER_H 00006 #define ATLFAST_CELLMAKER_H 00007 00008 #include <string> 00009 00010 // Gaudi 00011 #include "GaudiKernel/Algorithm.h" 00012 00013 //Atlfast 00014 namespace HepMC_helper{ 00015 class IMCselector; 00016 } 00017 00018 00019 //Transient event store paths 00020 00021 class ISvcLocator; 00022 00023 namespace Atlfast { 00024 class Calorimeter; 00025 class MagField; 00026 class TesIO; 00027 class ICellSelector; 00028 class EPileupMap; 00029 class ISmearer; 00030 00031 using std::string; 00039 class CellMaker : public Algorithm { 00040 00041 public: 00043 CellMaker(const std::string& name, ISvcLocator* pSvcLocator); 00044 ~CellMaker(); 00045 00046 StatusCode initialize(); 00047 StatusCode execute(); 00048 StatusCode finalize(); 00049 00050 private: 00051 Calorimeter* m_calorimeter; 00052 ICellSelector* m_cellSelector; //select cells on readout of Calorimeter 00053 HepMC_helper::IMCselector* m_mcSelector; //selects input particles 00055 EPileupMap* m_epileupMap; 00057 ISmearer* m_smearer; 00058 00059 // parameters needed to construct a calorimeter object... 00060 double m_etaCoverage; 00061 double m_minETCell; // minimum Et of cell to write out 00062 double m_barrelForwardEta; // boundary between forward and barrel 00063 bool m_fieldOn; // field bending calculted if true 00065 00066 bool m_doSmearing; 00068 bool m_fastShower; 00069 00070 00071 //...............Cell Granularities for............................... 00072 double m_granBarrelEta; // barrel eta 00073 double m_granBarrelPhi; // barrel phi 00074 double m_granForwardEta; // forward eta 00075 double m_granForwardPhi; // forward phi 00076 00077 //Paths in the transient event store to get/put things 00078 std::string m_inputLocation; 00079 std::string m_outputLocation; 00080 00081 TesIO* m_tesIO; // TES interface 00082 MagField* m_magField; 00083 00084 }; 00085 00086 } // end of namespace bracket 00087 #endif 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105