]>
Commit | Line | Data |
---|---|---|
87434909 | 1 | |
2 | /************************************************************************** | |
3 | * This file is property of and copyright by the ALICE HLT Project * | |
4 | * All rights reserved. * | |
5 | * * | |
6 | * Primary Authors: Per Thomas Hille, Oystein Djuvsland * | |
7 | * * | |
8 | * Permission to use, copy, modify and distribute this software and its * | |
9 | * documentation strictly for non-commercial purposes is hereby granted * | |
10 | * without fee, provided that the above copyright notice appears in all * | |
11 | * copies and that both the copyright notice and this permission notice * | |
12 | * appear in the supporting documentation. The authors make no claims * | |
13 | * about the suitability of this software for any purpose. It is * | |
14 | * provided "as is" without express or implied warranty. * | |
15 | **************************************************************************/ | |
16 | ||
17 | ||
18 | #ifndef ALIHLTPHOSRAWANALYZERCOMPONENTV3_H | |
19 | #define ALIHLTPHOSRAWANALYZERCOMPONENTV3_H | |
20 | ||
21 | ||
22 | /** | |
23 | * Raw data analyzer component base class for PHOS HLT | |
24 | * | |
25 | * @file AliHLTPHOSRawAnalyzerComponentv3.h | |
26 | * @author Oystein Djuvsland | |
27 | * @date | |
61bfd2e2 | 28 | * @brief A raw analyzer component for PHOS HLT |
87434909 | 29 | */ |
30 | ||
31 | // see below for class documentation | |
32 | // or | |
33 | // refer to README to build package | |
34 | // or | |
35 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
36 | ||
37 | #include "AliHLTPHOSRcuProcessor.h" | |
38 | ||
39 | ||
4ce2930a | 40 | |
87434909 | 41 | class AliHLTPHOSRawAnalyzer; |
42 | class AliHLTPHOSRcuCellEnergyDataStruct; | |
43 | class AliHLTPHOSMapper; | |
44 | class AliHLTPHOSSanityInspector; | |
45 | class AliHLTPHOSDigitMaker; | |
46 | class AliHLTPHOSDigitContainerDataStruct; | |
47 | class AliRawReaderMemory; | |
48 | class AliAltroRawStreamV3; | |
37ff2dd6 | 49 | class AliHLTPHOSChannelDataStruct; |
50 | ||
51 | //class RawDataWriter; | |
52 | ||
87434909 | 53 | |
54 | /** | |
55 | * @class AliHLTPHOSRawAnalyzerComponentv3 | |
87434909 | 56 | * @ingroup alihlt_phos |
57 | */ | |
58 | ||
59 | ||
60 | class AliHLTPHOSRawAnalyzerComponentv3 : public AliHLTPHOSRcuProcessor | |
61 | { | |
62 | public: | |
63 | ||
64 | /** Standard constructor */ | |
65 | AliHLTPHOSRawAnalyzerComponentv3(); | |
66 | ||
67 | /** Destructor */ | |
68 | virtual ~AliHLTPHOSRawAnalyzerComponentv3(); | |
69 | ||
70 | /** interface function, see @ref AliHLTComponent for description */ | |
71 | virtual int DoInit(int argc =0, const char** argv = 0); | |
72 | ||
73 | /** interface function, see @ref AliHLTComponent for description */ | |
74 | virtual int Deinit(); | |
75 | ||
76 | /** interface function, see @ref AliHLTComponent for description */ | |
77 | virtual const char* GetComponentID() = 0; | |
78 | ||
79 | /** interface function, see @ref AliHLTComponent for description */ | |
80 | virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list); | |
81 | ||
82 | /** interface function, see @ref AliHLTComponent for description */ | |
83 | virtual AliHLTComponentDataType GetOutputDataType(); | |
84 | ||
85 | /** interface function, see @ref AliHLTComponent for description */ | |
86 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
87 | ||
88 | /** interface function, see @ref AliHLTComponent for description */ | |
89 | virtual AliHLTComponent* Spawn() = 0; | |
90 | ||
91 | protected: | |
92 | ||
87434909 | 93 | /** |
61bfd2e2 | 94 | * Check for correct input data type (raw data from PHOS) |
95 | * @datatype is the data type specifier | |
96 | * @return true if the data type is correct | |
87434909 | 97 | */ |
61bfd2e2 | 98 | virtual bool CheckInputDataType(const AliHLTComponentDataType &datatype); |
87434909 | 99 | |
100 | private: | |
101 | ||
102 | /** Keep the copy constructor private since it should not be used */ | |
103 | AliHLTPHOSRawAnalyzerComponentv3(const AliHLTPHOSRawAnalyzerComponentv3 & ); | |
104 | ||
105 | /** Keep the assignement operator private since it should not be used */ | |
106 | AliHLTPHOSRawAnalyzerComponentv3 & operator = (const AliHLTPHOSRawAnalyzerComponentv3 &); | |
0078a236 | 107 | |
61bfd2e2 | 108 | /** |
109 | * Initialise the mapping according to the specification | |
110 | * @specification is the specification provided by the HLT framework | |
111 | */ | |
112 | virtual void InitMapping(const int specification); | |
0078a236 | 113 | |
37ff2dd6 | 114 | |
87434909 | 115 | }; |
116 | ||
117 | #endif | |
118 |