Line data Source code
1 : // $Id$
2 :
3 : //**************************************************************************
4 : //* This file is property of and copyright by the ALICE HLT Project *
5 : //* ALICE Experiment at CERN, All rights reserved. *
6 : //* *
7 : //* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 : //* for The ALICE HLT Project. *
9 : //* *
10 : //* Permission to use, copy, modify and distribute this software and its *
11 : //* documentation strictly for non-commercial purposes is hereby granted *
12 : //* without fee, provided that the above copyright notice appears in all *
13 : //* copies and that both the copyright notice and this permission notice *
14 : //* appear in the supporting documentation. The authors make no claims *
15 : //* about the suitability of this software for any purpose. It is *
16 : //* provided "as is" without express or implied warranty. *
17 : //**************************************************************************
18 :
19 : /** @file AliHLTEsdManager.cxx
20 : @author Matthias Richter
21 : @date
22 : @brief Manager for merging and writing of HLT ESDs
23 : */
24 :
25 : #include "AliHLTEsdManager.h"
26 : #include "AliHLTMisc.h"
27 : #include "TSystem.h"
28 : #include "TClass.h"
29 : #include "TROOT.h"
30 :
31 : /** ROOT macro for the implementation of ROOT specific class methods */
32 126 : ClassImp(AliHLTEsdManager)
33 :
34 : AliHLTEsdManager::AliHLTEsdManager()
35 : :
36 0 : AliHLTLogging()
37 0 : {
38 : // see header file for class documentation
39 : // or
40 : // refer to README to build package
41 : // or
42 : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
43 0 : }
44 :
45 : AliHLTEsdManager::~AliHLTEsdManager()
46 0 : {
47 : // see header file for class documentation
48 0 : }
49 :
50 : const char* AliHLTEsdManager::fgkImplName="AliHLTEsdManagerImplementation";
51 : const char* AliHLTEsdManager::fgkImplLibrary="libHLTrec.so";
52 :
53 :
54 : AliHLTEsdManager* AliHLTEsdManager::New()
55 : {
56 : // see header file for class documentation
57 0 : return AliHLTMisc::LoadInstance((AliHLTEsdManager*)NULL, fgkImplName, fgkImplLibrary);
58 : }
59 :
60 : void AliHLTEsdManager::Delete(AliHLTEsdManager* instance)
61 : {
62 : // see header file for class documentation
63 0 : if (!instance) return;
64 :
65 : // check if the library is still there in order to have the
66 : // destructor available
67 0 : TClass* pCl=TClass::GetClass(fgkImplName);
68 0 : if (!pCl) {
69 0 : AliHLTLogging log;
70 0 : log.Logging(kHLTLogError, "AliHLTEsdManager::Delete", "ESD handling", "potential memory leak: libHLTrec library not available, skipping destruction %p", instance);
71 : return;
72 0 : }
73 :
74 0 : delete instance;
75 0 : }
|