X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2FBASE%2FAliHLTEsdManager.h;h=454fbbdb673c0d536f51bab705aed6c891fce1a9;hb=546d00d897e8a17c50bb5017ddd4186837d81141;hp=9ab47f03cc58aad9bd6e9c9a1b0d16745a18ec5e;hpb=57584811bad404a82788a1bdb27c03b28350f9a6;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/BASE/AliHLTEsdManager.h b/HLT/BASE/AliHLTEsdManager.h index 9ab47f03cc5..454fbbdb673 100644 --- a/HLT/BASE/AliHLTEsdManager.h +++ b/HLT/BASE/AliHLTEsdManager.h @@ -52,6 +52,17 @@ class AliHLTEsdManager : public AliHLTLogging { /** delete an instance of the manager */ static void Delete(AliHLTEsdManager* instance); + /** + * Set the options for the ESD merging and writing + * Takes a string of blank separated options. + * \li -writelocal use local file writing in the specified diectory + * The file name is derived from the data origin + * \li -directory=<> Set the directory path + * This makes the SetDirectory method obsolete + * @return neg error code if failed + */ + virtual int SetOption(const char* option)=0; + /** * Convert data buffer to ESD. * The buffer is supposed to describe a streamed AliESDEvent object. @@ -59,11 +70,11 @@ class AliHLTEsdManager : public AliHLTLogging { * where 'det' is derived from the data type origin. Each time the function is invoked * a new event is created. Dummy events are added if the previous events did not contain * - * @param pBuffer [in] the data buffer - * @param size [in] data buffer size - * @param dt [in] data type of the block - * @param tgtesd [out] optional target - * @param eventno [in] optional event no + * @param [in] pBuffer the data buffer + * @param [in] size data buffer size + * @param [in] dt data type of the block + * @param [out] tgtesd optional target + * @param [in] eventno optional event no */ virtual int WriteESD(const AliHLTUInt8_t* pBuffer, AliHLTUInt32_t size, AliHLTComponentDataType dt, AliESDEvent* tgtesd=NULL, int eventno=-1)=0; @@ -99,6 +110,33 @@ class AliHLTEsdManager : public AliHLTLogging { */ virtual TString GetFileNames(AliHLTComponentDataType dt=kAliHLTAnyDataType) const = 0; + /** + * Create an AliESDEvent object. + * The standard content can optionally be initialized. + */ + virtual TObject* CreateEsdEvent(bool bCreateStdContent=false) const = 0; + + /** + * Delete instance of AliESDEvent + */ + virtual int DestroyEsdEvent(TObject* pESDInstance) const=0; + + /** + * Add object to ESD event. + * Checks the existance of the object under the name 'branchname' + * Note: some of the objects have (branch-)names which differ from the object name + * However, parameter branchname is never used when adding an object not yet existing. + */ + virtual int AddObject(TObject* pESDInstance, const TObject* pObject, const char* branchname) const = 0; + + /** + * Reset the specified object. + * The purpose of this method is to disentangle library dependencies. + * The actual implementation is outside the HLT base library in a + * child class. + */ + virtual int ResetEsdEvent(TObject* pESDInstance) const = 0; + protected: /** constructor */ AliHLTEsdManager();