No need to liknk with lhapdf, pythia6 and microcern libraries
[u/mrichter/AliRoot.git] / RAW / mdc.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 //////////////////////////////////////////////////////////////////////////
19 //                                                                      //
20 // c interface to AliMDC                                                //
21 //                                                                      //
22 //////////////////////////////////////////////////////////////////////////
23
24 #include "mdc.h"
25 #include "AliMDC.h"
26 #include "AliLog.h"
27
28 void* alimdcCreate(int compress, int filterMode, 
29                    double maxSizeTagDB, const char* fileNameTagDB,
30                    const char* guidFileFolder,
31                    int basketsize)
32 {
33 // create an AliMDC object
34
35   return new AliMDC(compress, kFALSE, AliMDC::EFilterMode(filterMode), 
36                     maxSizeTagDB, fileNameTagDB,
37                     guidFileFolder,
38                     basketsize);
39
40 }
41
42 int alimdcOpen(void* alimdc, int mode, const char* fileName)
43 {
44 // open a new raw DB
45
46   return ((AliMDC*)alimdc)->Open(AliMDC::EWriteMode(mode), fileName);
47 }
48
49 int alimdcProcessEvent(void* alimdc, void* event, int isIovecArray)
50 {
51 // process one event
52
53   return ((AliMDC*)alimdc)->ProcessEvent(event, isIovecArray);
54 }
55
56 long long alimdcGetTotalFileSize(void* alimdc)
57 {
58 // return the total current file size
59
60   return ((AliMDC*)alimdc)->GetTotalSize();
61 }
62
63 long long alimdcClose(void* alimdc)
64 {
65 // close the raw DB
66
67   return ((AliMDC*)alimdc)->Close();
68 }
69
70 void  alimdcDelete(void* alimdc)
71 {
72 // delete the AliMDC object
73
74   delete (AliMDC*)alimdc;
75 }
76
77 void  alimdcEnableDebug()
78 {
79 // enable debug and log messages
80
81   AliLog::EnableDebug(kTRUE);
82   AliLog::SetGlobalLogLevel(AliLog::kMaxType);
83   AliLog::SetGlobalDebugLevel(AliLog::kMaxType);
84   AliLog::SetPrintRepetitions(kFALSE);
85   AliLog::SetHandleRootMessages(kTRUE);
86 }
87
88 long long  alimdcAutoSave(void* alimdc)
89 {
90   // Auto-save the raw-data tree
91
92   return ((AliMDC*)alimdc)->AutoSave();
93 }
94