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