]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTEsdManager.h
The segmentations are made data member of the AliITSUGeomTGeo, will be loaded
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTEsdManager.h
index 9ab47f03cc58aad9bd6e9c9a1b0d16745a18ec5e..454fbbdb673c0d536f51bab705aed6c891fce1a9 100644 (file)
@@ -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();