00001 // GlobalEventData.h sigleton version 00002 #ifndef _Atlfast_GlobalEventData_H 00003 #define _Atlfast_GlobalEventData_H 00004 00005 // Normal STL and physical vectors 00006 00007 // Gaudi 00008 #ifndef STD_VECTOR_H 00009 #include <vector> 00010 #define STD_VECTOR_H 00011 #endif 00012 00013 00014 namespace HepMC_helper{ 00015 class IMCselector; 00016 } 00017 00018 namespace Atlfast { 00019 class GlobalEventDataMaker; 00020 00032 class GlobalEventData { 00033 public: 00034 00035 friend GlobalEventDataMaker; 00037 int lumi() {return m_lumi;} 00038 bool fieldOn() {return m_fieldOn;} 00039 double barrelForwardEta() {return m_barrelForwardEta;} 00040 int randSeed() {return m_randSeed;} 00041 HepMC_helper::IMCselector* visibleToCal() {return m_visibleToCal;} 00042 HepMC_helper::IMCselector* visibleToAtlas() {return m_visibleToAtlas;} 00044 static GlobalEventData* Instance(); 00045 private: 00047 void setValues(int,bool,double,int,std::vector<int>); 00049 GlobalEventData(){}; 00051 int m_lumi; 00052 bool m_fieldOn; 00053 double m_barrelForwardEta; 00054 int m_randSeed; 00055 HepMC_helper::IMCselector* m_visibleToCal; 00056 HepMC_helper::IMCselector* m_visibleToAtlas; 00057 std::vector<int> m_invisibles; 00060 static GlobalEventData* m_instance; 00061 00062 }; 00063 } // end of namespace bracket 00064 #endif 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084