ROOT logo
// $Id$

//**************************************************************************
//* This file is property of and copyright by the ALICE HLT Project        * 
//* ALICE Experiment at CERN, All rights reserved.                         *
//*                                                                        *
//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
//*                  for The ALICE HLT Project.                            *
//*                                                                        *
//* Permission to use, copy, modify and distribute this software and its   *
//* documentation strictly for non-commercial purposes is hereby granted   *
//* without fee, provided that the above copyright notice appears in all   *
//* copies and that both the copyright notice and this permission notice   *
//* appear in the supporting documentation. The authors make no claims     *
//* about the suitability of this software for any purpose. It is          *
//* provided "as is" without express or implied warranty.                  *
//**************************************************************************

/** @file   AliHLTEsdManager.cxx
    @author Matthias Richter
    @date   
    @brief  Manager for merging and writing of HLT ESDs
*/

#include "AliHLTEsdManager.h"
#include "AliHLTMisc.h"
#include "TSystem.h"
#include "TClass.h"
#include "TROOT.h"

/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTEsdManager)

AliHLTEsdManager::AliHLTEsdManager()
  :
  AliHLTLogging()
{
  // see header file for class documentation
  // or
  // refer to README to build package
  // or
  // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
}

AliHLTEsdManager::~AliHLTEsdManager()
{
  // see header file for class documentation
}

const char* AliHLTEsdManager::fgkImplName="AliHLTEsdManagerImplementation";
const char* AliHLTEsdManager::fgkImplLibrary="libHLTrec.so";


AliHLTEsdManager* AliHLTEsdManager::New()
{
  // see header file for class documentation
  return AliHLTMisc::LoadInstance((AliHLTEsdManager*)NULL, fgkImplName, fgkImplLibrary);
}

void AliHLTEsdManager::Delete(AliHLTEsdManager* instance)
{
  // see header file for class documentation
  if (!instance) return;

  // check if the library is still there in order to have the
  // destructor available
  TClass* pCl=TClass::GetClass(fgkImplName);
  if (!pCl) {
    AliHLTLogging log;
    log.Logging(kHLTLogError, "AliHLTEsdManager::Delete", "ESD handling", "potential memory leak: libHLTrec library not available, skipping destruction %p", instance);    
    return;
  }

  delete instance;
}
 AliHLTEsdManager.cxx:1
 AliHLTEsdManager.cxx:2
 AliHLTEsdManager.cxx:3
 AliHLTEsdManager.cxx:4
 AliHLTEsdManager.cxx:5
 AliHLTEsdManager.cxx:6
 AliHLTEsdManager.cxx:7
 AliHLTEsdManager.cxx:8
 AliHLTEsdManager.cxx:9
 AliHLTEsdManager.cxx:10
 AliHLTEsdManager.cxx:11
 AliHLTEsdManager.cxx:12
 AliHLTEsdManager.cxx:13
 AliHLTEsdManager.cxx:14
 AliHLTEsdManager.cxx:15
 AliHLTEsdManager.cxx:16
 AliHLTEsdManager.cxx:17
 AliHLTEsdManager.cxx:18
 AliHLTEsdManager.cxx:19
 AliHLTEsdManager.cxx:20
 AliHLTEsdManager.cxx:21
 AliHLTEsdManager.cxx:22
 AliHLTEsdManager.cxx:23
 AliHLTEsdManager.cxx:24
 AliHLTEsdManager.cxx:25
 AliHLTEsdManager.cxx:26
 AliHLTEsdManager.cxx:27
 AliHLTEsdManager.cxx:28
 AliHLTEsdManager.cxx:29
 AliHLTEsdManager.cxx:30
 AliHLTEsdManager.cxx:31
 AliHLTEsdManager.cxx:32
 AliHLTEsdManager.cxx:33
 AliHLTEsdManager.cxx:34
 AliHLTEsdManager.cxx:35
 AliHLTEsdManager.cxx:36
 AliHLTEsdManager.cxx:37
 AliHLTEsdManager.cxx:38
 AliHLTEsdManager.cxx:39
 AliHLTEsdManager.cxx:40
 AliHLTEsdManager.cxx:41
 AliHLTEsdManager.cxx:42
 AliHLTEsdManager.cxx:43
 AliHLTEsdManager.cxx:44
 AliHLTEsdManager.cxx:45
 AliHLTEsdManager.cxx:46
 AliHLTEsdManager.cxx:47
 AliHLTEsdManager.cxx:48
 AliHLTEsdManager.cxx:49
 AliHLTEsdManager.cxx:50
 AliHLTEsdManager.cxx:51
 AliHLTEsdManager.cxx:52
 AliHLTEsdManager.cxx:53
 AliHLTEsdManager.cxx:54
 AliHLTEsdManager.cxx:55
 AliHLTEsdManager.cxx:56
 AliHLTEsdManager.cxx:57
 AliHLTEsdManager.cxx:58
 AliHLTEsdManager.cxx:59
 AliHLTEsdManager.cxx:60
 AliHLTEsdManager.cxx:61
 AliHLTEsdManager.cxx:62
 AliHLTEsdManager.cxx:63
 AliHLTEsdManager.cxx:64
 AliHLTEsdManager.cxx:65
 AliHLTEsdManager.cxx:66
 AliHLTEsdManager.cxx:67
 AliHLTEsdManager.cxx:68
 AliHLTEsdManager.cxx:69
 AliHLTEsdManager.cxx:70
 AliHLTEsdManager.cxx:71
 AliHLTEsdManager.cxx:72
 AliHLTEsdManager.cxx:73
 AliHLTEsdManager.cxx:74
 AliHLTEsdManager.cxx:75