| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DybAlgorithmImp.h

Go to the documentation of this file.
00001 #ifndef DYBKERNEL_DYBALGORITHMIMP_H
00002 #define DYBKERNEL_DYBALGORITHMIMP_H
00003 
00004 
00005 
00006 template <class HeaderType>
00007 DybAlgorithm<HeaderType>::DybAlgorithm(const std::string& name, ISvcLocator* pSvcLocator)
00008     : DybBaseAlg(name,pSvcLocator)
00009 {
00010     declareProperty("Location",m_location = HeaderType::defaultLocation(),
00011                     "TES path location for the HeaderObject this algorithm produces.");
00012 
00013     m_pullMode = false;
00014 }
00015 
00016 template <class HeaderType>
00017 DybAlgorithm<HeaderType>::~DybAlgorithm()
00018 {
00019 }
00020 
00021 template <class HeaderType>
00022 HeaderType* DybAlgorithm<HeaderType>::MakeHeaderObject()
00023 {
00024     if (m_headerObject) {
00025         debug () << "MakeHeaderObject, returning cached" << endreq;
00026         return GetCurrentHeaderObject();
00027     }
00028     
00029     HeaderType *typed_header = new HeaderType;
00030     m_headerObject = typed_header;
00031     this->InitializeHeader(m_headerObject);
00032     
00033     debug() << "MakeHeaderObject with exec num " << getExecNum() << endreq;
00034     return typed_header;
00035 }
00036 
00037 template <class HeaderType>
00038 HeaderType* DybAlgorithm<HeaderType>::GetCurrentHeaderObject() const 
00039 { 
00040     return dynamic_cast<HeaderType*>(m_headerObject);
00041 }
00042 
00043 
00044 #endif  // DYBKERNEL_DYBALGORITHMIMP_H
00045 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:40:40 2011 for DybAlg by doxygen 1.4.7