]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/AliHLTMisc.cxx
avoid compilation warning on some architectures
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTMisc.cxx
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   AliHLTMisc.h
20 /// @author Matthias Richter
21 /// @date   2009-07-07
22 /// @brief  Definition of various glue functions implemented in dynamically
23 ///         loaded libraries
24
25 #include "AliHLTMisc.h"
26
27 /** ROOT macro for the implementation of ROOT specific class methods */
28 ClassImp(AliHLTMisc);
29
30 AliHLTMisc::AliHLTMisc()
31 {
32   // see header file for function documentation
33 }
34
35 AliHLTMisc::~AliHLTMisc()
36 {
37   // see header file for function documentation
38 }
39
40 AliHLTMisc* AliHLTMisc::fgInstance=NULL;
41
42 AliHLTMisc& AliHLTMisc::Instance()
43 {
44   // see header file for function documentation
45   if (!fgInstance) {
46     fgInstance=LoadInstance((AliHLTMisc*)NULL, "AliHLTMiscImplementation", ALIHLTMISC_LIBRARY);
47   }
48   if (!fgInstance) {
49     AliHLTLogging log;
50     fgInstance=new AliHLTMisc;
51     log.Logging(kHLTLogError, "AliHLTMisc::Instance", "HLT Analysis", "falling back to default AliHLTMisc instance");
52   }
53   return *fgInstance;
54 }
55
56 int AliHLTMisc::InitCDB(const char* /*cdbpath*/)
57 {
58   // default method, functionality is implemented in the child class
59   return -EFAULT;
60 }
61
62 int AliHLTMisc::SetCDBRunNo(int /*runNo*/)
63 {
64   // default method, functionality is implemented in the child class
65   return -EFAULT;
66 }
67
68 int AliHLTMisc::GetCDBRunNo() const
69 {
70   // default method, functionality is implemented in the child class
71   return -1;
72 }
73
74 AliCDBEntry* AliHLTMisc::LoadOCDBEntry(const char* /*path*/, int /*runNo*/, int /*version*/, int /*subVersion*/) const
75 {
76   // default method, functionality is implemented in the child class
77   return NULL;
78 }
79
80 TObject* AliHLTMisc::ExtractObject(AliCDBEntry* /*entry*/) const
81 {
82   // default method, functionality is implemented in the child class
83   return NULL;
84 }
85
86 int AliHLTMisc::CheckOCDBEntries(const TMap* const /*pMap*/) const
87 {
88   // default method, functionality is implemented in the child class
89   return -ENOENT;
90 }
91
92 int AliHLTMisc::InitMagneticField() const
93 {
94   // default method, functionality is implemented in the child class
95   return -EFAULT;
96 }
97
98 AliHLTUInt64_t AliHLTMisc::GetTriggerMask(AliRawReader* /*rawReader*/) const
99 {
100   // default method, functionality is implemented in the child class
101   return 0;
102 }
103
104 AliHLTUInt32_t AliHLTMisc::GetTimeStamp(AliRawReader* /*rawReader*/) const
105 {
106   // default method, functionality is implemented in the child class
107   return 0;
108 }
109
110 AliHLTUInt32_t AliHLTMisc::GetEventType(AliRawReader* /*rawReader*/) const
111 {
112   // default method, functionality is implemented in the child class
113   return 0;
114 }
115
116 Double_t AliHLTMisc::GetBz()
117 {
118   // default method, functionality is implemented in the child class
119   return 0.0;
120 }
121
122 Double_t AliHLTMisc::GetBz(const Double_t */*r*/)
123 {
124   // default method, functionality is implemented in the child class
125   return 0.0;
126 }
127
128 void AliHLTMisc::GetBxByBz(const Double_t r[3], Double_t b[3])
129 {
130   // default method, functionality is implemented in the child class
131   if (!r || !b) return;
132   return;
133 }
134
135 const TClass* AliHLTMisc::IsAliESDHLTDecision() const
136 {
137   // default method, functionality is implemented in the child class
138   return NULL;
139 }
140
141 int AliHLTMisc::Copy(const AliHLTGlobalTriggerDecision* /*pDecision*/, TObject* /*pESDHLTDecision*/) const
142 {
143   // default method, functionality is implemented in the child class
144   return -EFAULT;
145 }
146
147 int AliHLTMisc::InitStreamerInfos(const char* /*ocdbEntry*/) const
148 {
149   // default method, functionality is implemented in the child class
150   return -EFAULT;
151 }
152
153 int AliHLTMisc::InitStreamerInfos(TObjArray* /*pSchemas*/) const
154 {
155   // default method, functionality is implemented in the child class
156   return -EFAULT;
157 }
158
159 void AliHLTMisc::SetAliESDtrackOnlineModeFlag(bool /*mode*/) const
160 {
161   // default method, functionality is implemented in the child class
162 }
163
164 bool AliHLTMisc::GetAliESDtrackOnlineModeFlag() const
165 {
166   // default method, functionality is implemented in the child class
167   return false;
168 }
169
170 AliHLTMisc::AliOnlineGuard::AliOnlineGuard(bool mode)
171   : fMode(false)
172 {
173   // store the current value and set the flag
174   fMode=AliHLTMisc::Instance().GetAliESDtrackOnlineModeFlag();
175   AliHLTMisc::Instance().SetAliESDtrackOnlineModeFlag(mode);
176 }
177
178 AliHLTMisc::AliOnlineGuard::~AliOnlineGuard()
179 {
180   // restore old value of the flag
181   AliHLTMisc::Instance().SetAliESDtrackOnlineModeFlag(fMode);
182 }
183
184 ostream  &operator<<(ostream &out, const AliHLTComponentDataType &dt)
185 {
186   // printout of AliHLTComponentDataType struct
187   char id[kAliHLTComponentDataTypefIDsize+1];
188   strncpy(id, dt.fID, kAliHLTComponentDataTypefIDsize);
189   id[kAliHLTComponentDataTypefIDsize]=0;
190   char origin[kAliHLTComponentDataTypefOriginSize+1];
191   strncpy(origin, dt.fOrigin, kAliHLTComponentDataTypefOriginSize);
192   origin[kAliHLTComponentDataTypefOriginSize]=0;
193   out << "{" << id << ":" << origin << "}";
194   return out;
195 }