]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSClusterizerComponent.cxx
- changes to make the clusterisation work for EMCAL
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.cxx
1 // $Id$
2
3 /**************************************************************************
4  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  *                                                                        *
6  * Authors: Oystein Djuvsland <oysteind@ift.uib.no>                       *
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 #include <iostream>
18
19 #include "AliHLTPHOSClusterizerComponent.h"
20 #include "AliHLTCaloRecPointDataStruct.h"
21 #include "AliHLTCaloRecPointHeaderStruct.h"
22 #include "AliHLTPHOSGeometry.h"
23 #include "AliHLTCaloClusterAnalyser.h"
24
25
26
27
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
39 #include "AliHLTCaloDefinitions.h"
40 #include "AliHLTPHOSGeometry.h"
41
42 AliHLTPHOSClusterizerComponent gAliHLTPHOSClusterizerComponent;
43
44 AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent(): 
45   AliHLTCaloClusterizerComponent("PHOS")
46 {
47   //See headerfile for documentation
48
49   fDataOrigin = const_cast<char*>(kAliHLTDataOriginPHOS);
50
51   //AliHLTPHOSGeometry *geom = new AliHLTPHOSGeometry;
52   
53   fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
54   
55 }
56
57 AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent()
58 {
59   //See headerfile for documentation
60 }
61
62 void
63 AliHLTPHOSClusterizerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
64 {
65   //See headerfile for documentation
66   list.clear();
67   list.push_back(AliHLTCaloDefinitions::fgkDigitDataType|kAliHLTDataOriginPHOS);
68 }
69
70 AliHLTComponentDataType
71 AliHLTPHOSClusterizerComponent::GetOutputDataType()
72 {
73   //See headerfile for documentation
74   return kAliHLTDataTypeCaloCluster|kAliHLTDataOriginPHOS;
75 }
76
77 void
78 AliHLTPHOSClusterizerComponent::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;
84 }
85
86 const Char_t*
87 AliHLTPHOSClusterizerComponent::GetComponentID()
88 {
89   //See headerfile for documentation
90   return "PhosClusterizer";
91 }
92
93 AliHLTComponent*
94 AliHLTPHOSClusterizerComponent::Spawn()
95 {
96   //See headerfile for documentation
97
98   return new AliHLTPHOSClusterizerComponent();
99 }