Compatibility with the Root trunk
[u/mrichter/AliRoot.git] / TPC / AliTPCMonitorDateMonitor.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 /*
17 $Log$
18 Revision 1.2  2007/09/17 16:34:54  cvetan
19 The package was overwriting the rootcint flags. This was fixed by applying the necessary changes in the DATE-dependent parts of the code
20
21 Revision 1.1  2007/09/17 10:23:31  cvetan
22 New TPC monitoring package from Stefan Kniege. The monitoring package can be started by running TPCMonitor.C macro located in macros folder.
23
24 */ 
25
26 ////////////////////////////////////////////////////////////////////////
27 //
28 // AliTPCMonitorDateMonitor class
29 // 
30 // Monitoring wrapper class for DATE raw data monitoring used by the TPC 
31 // raw data monitor.
32 // Online monitoring is only possible if DATE is installed on the machine.
33 // If not, raw data can be read using the AliTPCMonitorDateFile 
34 // (can be choosen from 'Sel.Format' in the TPCMonitor gui")
35 //
36 // Authors: Roland Bramm, 
37 //          Stefan Kniege, IKF, Frankfurt
38 //       
39 /////////////////////////////////////////////////////////////////////////
40
41
42
43 #include <iostream>
44 #include "AliTPCMonitorDateMonitor.h"
45 #include "event.h"
46 #include "monitor.h"
47 #include <cstdlib>
48
49 ClassImp(AliTPCMonitorDateMonitor)
50
51 //_____________________________________________________________________________
52 AliTPCMonitorDateMonitor::AliTPCMonitorDateMonitor():
53 fPointer(0)
54 {
55   // Constructor
56 }
57
58
59 //_____________________________________________________________________________
60 AliTPCMonitorDateMonitor::AliTPCMonitorDateMonitor(const AliTPCMonitorDateMonitor &datemon) :
61   TNamed(datemon.GetName(),datemon.GetTitle()),
62   fPointer(datemon.fPointer)
63 {
64   // copy constructor  
65 }
66
67 //_____________________________________________________________________________
68 AliTPCMonitorDateMonitor &AliTPCMonitorDateMonitor::operator =(const AliTPCMonitorDateMonitor& datemon)
69 {
70   // assignement operator
71   if(this!=&datemon){ 
72     fPointer=datemon.fPointer;
73   }
74
75   return *this;
76 }
77
78 //_____________________________________________________________________________
79 AliTPCMonitorDateMonitor::~AliTPCMonitorDateMonitor(){
80   // Destructor
81 }
82
83 //_____________________________________________________________________________
84 Int_t AliTPCMonitorDateMonitor::OpenMonitoring(string name){
85   // Set data source for the monitor
86         return monitorSetDataSource((char*)name.c_str());
87 }
88
89 //_____________________________________________________________________________
90 const char* AliTPCMonitorDateMonitor::DecodeError(Int_t error  ){
91   // Return decoded error string 
92   return monitorDecodeError(error);
93 }
94
95 //_____________________________________________________________________________
96 Int_t AliTPCMonitorDateMonitor::DeclareMonitor(string name){
97   // Declare monitorn Map
98   return monitorDeclareMp((char*)name.c_str());
99 }
100
101 //_____________________________________________________________________________
102 Int_t AliTPCMonitorDateMonitor::GetEvent(){
103   // Get next event
104   return monitorGetEventDynamic( (void**)&fPointer );
105 }
106  
107 //_____________________________________________________________________________
108 char *AliTPCMonitorDateMonitor::GetEventPointerasChar(){
109   // Return pointer to data mamory
110   return fPointer;
111 }
112
113 //_____________________________________________________________________________
114 Int_t AliTPCMonitorDateMonitor::Logout(){
115   // Logout the monitor
116   return monitorLogout();
117 }
118 //_____________________________________________________________________________
119 int AliTPCMonitorDateMonitor::FlushEvents(){
120   // Flush events 
121   return monitorFlushEvents();
122 }
123
124 //_____________________________________________________________________________
125 void  AliTPCMonitorDateMonitor::Free(){
126   // Free fPointer 
127   if(fPointer)free(fPointer);
128   fPointer = 0;
129 }