]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSSharedMemoryInterface.h
New production macros (Yves)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSharedMemoryInterface.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTPHOSSHAREDMEMORYINTERFACE_H
5 #define ALIHLTPHOSSHAREDMEMORYINTERFACE_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
27 class AliHLTPHOSRcuCellEnergyDataStruct;
28 class AliHLTPHOSValidCellDataStruct;
29
30 class  AliHLTPHOSSharedMemoryInterface
31 {
32  public:
33   AliHLTPHOSSharedMemoryInterface();
34   virtual ~AliHLTPHOSSharedMemoryInterface();
35   AliHLTPHOSValidCellDataStruct*   NextChannel();
36   void SetMemory(AliHLTPHOSRcuCellEnergyDataStruct *rcuCeelEnergyPtr);
37   Int_t* GetRawData(Int_t& nSamples); //added by OD
38   void Reset();
39
40  private:
41    AliHLTPHOSSharedMemoryInterface(const  AliHLTPHOSSharedMemoryInterface & );
42    AliHLTPHOSSharedMemoryInterface & operator = (const  AliHLTPHOSSharedMemoryInterface &);
43
44   void PingPongPointer();
45   AliHLTPHOSValidCellDataStruct *fCurrentChannel;
46   AliHLTPHOSRcuCellEnergyDataStruct *fCellEnergiesPtr ;
47   bool fIsSetMemory;
48   bool fHasRawData;
49   int fMaxCnt;
50   int fCurrentCnt; 
51   int fCurrentX;   //added by OD
52   int fCurrentZ;  //added by OD
53   int fCurrentGain;//added by OD
54   Int_t fCharDataOffset;
55   char  *fCharPtr;
56   Int_t *fIntPtr;
57   Int_t *fRawDataPtr;
58   //  Int_t *rawDataBufferPos = (Int_t *)outputPtr; 
59 };
60
61 #endif