Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CommonData.h

Go to the documentation of this file.
00001 // ================================================
00002 // CommonData class description
00003 // ================================================
00004 //
00005 // Namespace Atlfast::
00006 //
00007 // class: CommonData
00008 //
00009 // Description: 
00010 //
00011 //  Store things needed by a number of algorithms
00012 
00013 // ................................................................
00014 //
00015 
00016 #ifndef ATLFAST_COMMONDATA_H
00017 #define ATLFAST_COMMONDATA_H
00018 
00019 #include "GaudiKernel/DataObject.h"
00020 
00021 namespace HepMC_helper{
00022   class IMCselector;
00023 }
00024 
00025 static const CLID CLID_CommonData = 2309;
00026 namespace Atlfast {
00027 
00028   class CommonData : public DataObject {
00029     enum Luminosity {lowLuminosity=1, highLuminosity=2};
00030   public:
00031     
00033     CommonData() : DataObject(){
00034     }
00035 
00036     CommonData(int lumi, 
00037                bool fieldOn,
00038                double barrelForwardEta,
00039                int randSeed,
00040                std::vector<int> invisibles);
00041 
00042 
00044     virtual StreamBuffer& serialize(StreamBuffer& s);
00045 
00047     virtual StreamBuffer& serialize(StreamBuffer& s) const;
00048 
00049     static const CLID& classID() { return CLID_CommonData;}
00050     virtual const CLID& clID() const { return classID();}
00051     
00052     virtual ~CommonData(){
00053       // the deletes commented out below cause a segmentation
00054       // error at the end of the job
00055       //    delete m_visibleToCal;
00056       //    delete m_visibleToAtlas;
00057     }
00058     
00059     int lumi()                                 const {return m_lumi;}
00060     bool fieldOn()                             const {return m_fieldOn;}
00061     double barrelForwardEta()                  const {return 
00062                                                         m_barrelForwardEta;}
00063     int randSeed()                             const {return m_randSeed;}
00064     HepMC_helper::IMCselector* visibleToCal()  const {return m_visibleToCal;}
00065     HepMC_helper::IMCselector* visibleToAtlas()const {return m_visibleToAtlas;}
00066 
00067   private:
00068     CommonData(const CommonData& c); 
00069     //    CommonData(const CommonData& c): 
00070     //      DataObject(), m_lumi(c.m_lumi), 
00071     //      m_fieldOn(c.m_fieldOn), m_barrelForwardEta(c.m_barrelForwardEta),
00072     //      m_invisibles(c.m_invisibles){
00073     //     
00074     //      m_visibleToCal   = (c.m_visibleToCal)->create() ;
00075     //      m_visibleToAtlas = (c.m_visibleToAtlas)->create() ;
00076     //    }
00077     //
00078     int m_lumi;
00079     bool        m_fieldOn;
00080     double      m_barrelForwardEta;
00081     int         m_randSeed;
00082     HepMC_helper::IMCselector*  m_visibleToCal;
00083     HepMC_helper::IMCselector*  m_visibleToAtlas;
00084     //copy from the CommonDataMaker for persistency:
00085     std::vector<int> m_invisibles;    // List of ids of invisible ptcles
00086     void setPointers();
00087   };
00088    
00089 }  //end of namespace bracket
00090 
00091 #endif
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 

Generated on Mon Feb 4 15:54:23 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001