Line data Source code
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 0 : 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 6 : ClassDef(AliHLTCaloSharedMemoryInterfacev2, 1);
75 : };
76 :
77 : #endif
|