- adding new component for the new clusterizer.
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.cxx
CommitLineData
1b41ab20 1// $Id$
2
91b95d47 3/**************************************************************************
4 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * *
2374af72 6 * Authors: Oystein Djuvsland <oysteind@ift.uib.no> *
91b95d47 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 **************************************************************************/
aac22523 16
d949e02e 17#include <iostream>
aac22523 18
91b95d47 19#include "AliHLTPHOSClusterizerComponent.h"
ad44d760 20#include "AliHLTCaloRecPointDataStruct.h"
21#include "AliHLTCaloRecPointHeaderStruct.h"
7c80a370 22#include "AliHLTPHOSGeometry.h"
23#include "AliHLTCaloClusterAnalyser.h"
ad44d760 24
91b95d47 25
aac22523 26
27
2374af72 28/** @file AliHLTPHOSClusterizerComponent.cxx
29 @author Oystein Djuvsland
30 @date
31 @brief A clusterizer component for PHOS HLT
32*/
33
34// see header file for class documentation
35// or
36// refer to README to build package
37// or
38// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
7c80a370 39#include "AliHLTCaloDefinitions.h"
40#include "AliHLTPHOSGeometry.h"
c1e4a18c 41#include "AliHLTPHOSRecoParamHandler.h"
60909644 42#include "AliHLTCaloClusterizer.h"
2374af72 43
aac22523 44AliHLTPHOSClusterizerComponent gAliHLTPHOSClusterizerComponent;
45
d949e02e 46AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent():
ad44d760 47 AliHLTCaloClusterizerComponent("PHOS")
aac22523 48{
2374af72 49 //See headerfile for documentation
7c80a370 50
51 fDataOrigin = const_cast<char*>(kAliHLTDataOriginPHOS);
52
98baf84d 53 //AliHLTPHOSGeometry *geom = new AliHLTPHOSGeometry;
7c80a370 54
aac22523 55}
56
57AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent()
58{
2374af72 59 //See headerfile for documentation
ad44d760 60}
61
62void
63AliHLTPHOSClusterizerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
64{
65 //See headerfile for documentation
66 list.clear();
67 list.push_back(AliHLTCaloDefinitions::fgkDigitDataType|kAliHLTDataOriginPHOS);
68}
91b95d47 69
ad44d760 70AliHLTComponentDataType
71AliHLTPHOSClusterizerComponent::GetOutputDataType()
72{
73 //See headerfile for documentation
ee72b4e5 74 return kAliHLTDataTypeCaloCluster|kAliHLTDataOriginPHOS;
ad44d760 75}
76
77void
78AliHLTPHOSClusterizerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier )
79
80{
81 //See headerfile for documentation
82 constBase = sizeof(AliHLTCaloRecPointHeaderStruct) + sizeof(AliHLTCaloRecPointDataStruct) + (sizeof(AliHLTCaloDigitDataStruct) << 7); //Reasonable estimate... ;
83 inputMultiplier = 2.0;
aac22523 84}
85
9cc0deb1 86const Char_t*
aac22523 87AliHLTPHOSClusterizerComponent::GetComponentID()
88{
2374af72 89 //See headerfile for documentation
d949e02e 90 return "PhosClusterizer";
aac22523 91}
92
aac22523 93AliHLTComponent*
94AliHLTPHOSClusterizerComponent::Spawn()
95{
2374af72 96 //See headerfile for documentation
97
aac22523 98 return new AliHLTPHOSClusterizerComponent();
99}
427c373f 100
101int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv)
102{
103
60909644 104 fClusterizerPtr = new AliHLTCaloClusterizer("PHOS");
105
427c373f 106 fRecoParamsPtr = new AliHLTPHOSRecoParamHandler();
107
108 return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
109}
110
111int AliHLTPHOSClusterizerComponent::DoDeinit()
112{
113 if(fRecoParamsPtr)
114 {
115 delete fRecoParamsPtr;
116 fRecoParamsPtr = 0;
117 }
118 return AliHLTCaloClusterizerComponent::DoDeinit();
119}
120
121
122Int_t AliHLTPHOSClusterizerComponent::InitialiseGeometry()
123{
124
125 fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
126
127 return 0;
128}