]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRawAnalyzerComponentv3.h
starting changes to move to common CALO library for PHOS and EMCAL
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponentv3.h
CommitLineData
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 41class AliHLTPHOSRawAnalyzer;
42class AliHLTPHOSRcuCellEnergyDataStruct;
43class AliHLTPHOSMapper;
44class AliHLTPHOSSanityInspector;
45class AliHLTPHOSDigitMaker;
46class AliHLTPHOSDigitContainerDataStruct;
47class AliRawReaderMemory;
48class AliAltroRawStreamV3;
37ff2dd6 49class AliHLTPHOSChannelDataStruct;
50
51//class RawDataWriter;
52
87434909 53
54/**
55 * @class AliHLTPHOSRawAnalyzerComponentv3
87434909 56 * @ingroup alihlt_phos
57 */
58
59
60class 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