3 /**************************************************************************
4 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * Authors: Oystein Djuvsland <oysteind@ift.uib.no> *
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 **************************************************************************/
19 #include "AliHLTPHOSClusterizerComponent.h"
20 #include "AliHLTCaloRecPointDataStruct.h"
21 #include "AliHLTCaloRecPointHeaderStruct.h"
22 #include "AliHLTPHOSGeometry.h"
23 #include "AliHLTCaloClusterAnalyser.h"
28 /** @file AliHLTPHOSClusterizerComponent.cxx
29 @author Oystein Djuvsland
31 @brief A clusterizer component for PHOS HLT
34 // see header file for class documentation
36 // refer to README to build package
38 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
39 #include "AliHLTCaloDefinitions.h"
40 #include "AliHLTPHOSGeometry.h"
41 #include "AliHLTPHOSRecoParamHandler.h"
42 #include "AliHLTCaloClusterizer.h"
44 AliHLTPHOSClusterizerComponent gAliHLTPHOSClusterizerComponent;
46 AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent():
47 AliHLTCaloClusterizerComponent("PHOS")
49 //See headerfile for documentation
51 fDataOrigin = const_cast<char*>(kAliHLTDataOriginPHOS);
53 //AliHLTPHOSGeometry *geom = new AliHLTPHOSGeometry;
57 AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent()
59 //See headerfile for documentation
63 AliHLTPHOSClusterizerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
65 //See headerfile for documentation
67 list.push_back(AliHLTCaloDefinitions::fgkDigitDataType|kAliHLTDataOriginPHOS);
70 AliHLTComponentDataType
71 AliHLTPHOSClusterizerComponent::GetOutputDataType()
73 //See headerfile for documentation
74 return kAliHLTDataTypeCaloCluster|kAliHLTDataOriginPHOS;
78 AliHLTPHOSClusterizerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier )
81 //See headerfile for documentation
82 constBase = sizeof(AliHLTCaloRecPointHeaderStruct) + sizeof(AliHLTCaloRecPointDataStruct) + (sizeof(AliHLTCaloDigitDataStruct) << 7); //Reasonable estimate... ;
83 inputMultiplier = 2.0;
87 AliHLTPHOSClusterizerComponent::GetComponentID()
89 //See headerfile for documentation
90 return "PhosClusterizer";
94 AliHLTPHOSClusterizerComponent::Spawn()
96 //See headerfile for documentation
98 return new AliHLTPHOSClusterizerComponent();
101 int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv)
104 fClusterizerPtr = new AliHLTCaloClusterizer("PHOS");
106 fRecoParamsPtr = new AliHLTPHOSRecoParamHandler();
108 return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
111 int AliHLTPHOSClusterizerComponent::DoDeinit()
115 delete fRecoParamsPtr;
118 return AliHLTCaloClusterizerComponent::DoDeinit();
122 Int_t AliHLTPHOSClusterizerComponent::InitialiseGeometry()
125 fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);