]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSSharedMemoryInterfacev2.h
- starting implementing ocdb access
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSharedMemoryInterfacev2.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTPHOSSHAREDMEMORYINTERFACEV2_H
5 #define ALIHLTPHOSSHAREDMEMORYINTERFACEV2_H
6
7 /**************************************************************************
8  * This file is property of and copyright by the Experimental Nuclear     *
9  * Physics Group, Dep. of Physics                                         *
10  * University of Oslo, Norway, 2007                                       *
11  *                                                                        *
12  * Author: Per Thomas Hille <perthi@fys.uio.no> for the ALICE HLT Project.*
13  * Contributors are mentioned in the code where appropriate.              *
14  * Please report bugs to perthi@fys.uio.no                                *
15  *                                                                        *
16  * Permission to use, copy, modify and distribute this software and its   *
17  * documentation strictly for non-commercial purposes is hereby granted   *
18  * without fee, provided that the above copyright notice appears in all   *
19  * copies and that both the copyright notice and this permission notice   *
20  * appear in the supporting documentation. The authors make no claims     *
21  * about the suitability of this software for any purpose. It is          *
22  * provided "as is" without express or implied warranty.                  *
23  **************************************************************************/
24
25 #include "Rtypes.h"
26 //#include "AliHLTPHOSBase.h"
27
28 #include "AliHLTPHOSChannelRawDataStruct.h"
29 #include "AliHLTDataTypes.h"
30
31 class AliHLTPHOSChannelDataHeaderStruct;
32 class AliHLTPHOSChannelDataStruct;
33 class AliHLTPHOSCoordinate;
34
35 //class AliHLTPHOSChannelRawDataStruct;
36
37 class  AliHLTPHOSSharedMemoryInterfacev2
38 {
39  public:
40   AliHLTPHOSSharedMemoryInterfacev2();
41   virtual ~AliHLTPHOSSharedMemoryInterfacev2();
42   AliHLTPHOSChannelDataStruct*   NextChannel();
43   void  NextRawChannel();
44   void SetMemory(AliHLTPHOSChannelDataHeaderStruct* channelDataHeaderPtr);
45   void Reset();
46   
47   const AliHLTPHOSChannelRawDataStruct & GetRawData() { return  fRawData; };
48   
49  private:
50   AliHLTPHOSSharedMemoryInterfacev2(const  AliHLTPHOSSharedMemoryInterfacev2 & );
51   AliHLTPHOSSharedMemoryInterfacev2 & operator = (const  AliHLTPHOSSharedMemoryInterfacev2 &);
52   
53   void Reset(AliHLTPHOSChannelRawDataStruct &str);
54   
55   AliHLTPHOSChannelDataStruct* fCurrentChannel;
56   AliHLTUInt8_t* fChannelDataPtr;
57   bool fIsSetMemory;
58   bool fHasRawData;
59   int fMaxCnt;
60   int fCurrentCnt; 
61   UShort_t *fRawDataPtr;
62
63   AliHLTPHOSChannelRawDataStruct fRawData;
64
65 };
66
67 #endif