]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/CALO/AliHLTCaloSharedMemoryInterfacev2.h
New CMake build implementation
[u/mrichter/AliRoot.git] / HLT / CALO / AliHLTCaloSharedMemoryInterfacev2.h
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
35 class AliHLTCaloChannelDataHeaderStruct;
36 class AliHLTCaloChannelDataStruct;
37 class AliHLTCaloCoordinate;
38 class AliHLTCaloMapper;
39
40 //class AliHLTCaloChannelRawDataStruct;
41
42 class  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  
56 protected:
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