CellMaker.h

Go to the documentation of this file.
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 #include <vector>
00010 
00011 // Gaudi
00012 #ifndef GAUDIKERNEL_ALGORITHM_H
00013 #include "GaudiKernel/Algorithm.h"
00014 #define GAUDIKERNEL_ALGORITHM_H
00015 #endif
00016 
00017 #ifndef GAUDIKERNEL_MSGSTREAM_H
00018 #include "GaudiKernel/MsgStream.h"
00019 #define GAUDIKERNEL_MSGSTREAM_H
00020 #endif
00021 
00022 #include "AtlfastEvent/CollectionDefs.h"
00023 #include "AtlfastEvent/MCparticleCollection.h"
00024 
00025 //Atlfast
00026 namespace HepMC_helper{
00027   class IMCselector;
00028 }
00029 
00030 
00031 //Transient event store paths
00032 
00033 class ISvcLocator;
00034 
00035 namespace Atlfast {
00036   class Calorimeter;
00037   class TesIO;
00038   class ICellSelector;
00039   class EPileupMap;
00040   class ISmearer;
00041 
00042   using std::string;
00043   using std::vector;
00044 
00054   class CellMaker : public Algorithm {
00055     
00056   public:
00057 
00059     CellMaker(const std::string& name, ISvcLocator* pSvcLocator);
00060 
00062     ~CellMaker();
00063     
00065     StatusCode  initialize();
00067     StatusCode  execute();
00069     StatusCode  finalize();
00070 
00071   private:
00072 
00073     void deflectParticles(ITransportedParticleCollection&);
00074     Calorimeter*    m_calorimeter;  
00075     ICellSelector*  m_cellSelector; //select cells on readout of Calorimeter
00076     HepMC_helper::IMCselector*  m_mcSelector; //selects input particles
00078     EPileupMap* m_epileupMap;
00080     ISmearer* m_smearer;
00081     
00082     // parameters needed to construct a calorimeter object...
00083     double    m_etaCoverage;      
00084     double    m_minETCell;         // minimum Et of cell to write out
00085     double    m_barrelForwardEta;  // boundary between forward and barrel
00086     bool      m_fieldOn;           // field bending calculted if true
00088 
00089     bool      m_doSmearing;
00091     bool      m_fastShower; 
00092 
00093     //...............Cell Granularities for...............................
00094     double    m_granBarrelEta;     // barrel eta
00095     double    m_granBarrelPhi;     // barrel phi
00096     double    m_granForwardEta;    // forward eta
00097     double    m_granForwardPhi;    // forward phi
00098 
00099     //Paths in the transient event store to get/put things
00100     std::string m_outputLocation;
00101     std::string m_outputLocation_IN4M;
00102 
00103     //holds the Stotegate MC location
00104     std::string m_mcLocation;   
00105 
00106     // PDG ID for magnetic monopoles
00107     std::vector<int> m_monopoleIDs;
00108 
00109     TesIO* m_tesIO; // TES interface
00110     MsgStream m_log;
00111   };
00112 
00113 } // end of namespace bracket
00114 #endif
00115 
00116 
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1