]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSClusterizerComponent.cxx
removing global component instances formerly used for registration; registration...
[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 #include "AliHLTPHOSRecoParamHandler.h"
42 #include "AliHLTCaloClusterizer.h"
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 }
54
55 AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent()
56 {
57   //See headerfile for documentation
58 }
59
60 void
61 AliHLTPHOSClusterizerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
62 {
63   //See headerfile for documentation
64   list.clear();
65   list.push_back(AliHLTCaloDefinitions::fgkDigitDataType|kAliHLTDataOriginPHOS);
66 }
67
68 AliHLTComponentDataType
69 AliHLTPHOSClusterizerComponent::GetOutputDataType()
70 {
71   //See headerfile for documentation
72   return kAliHLTDataTypeCaloCluster|kAliHLTDataOriginPHOS;
73 }
74
75 void
76 AliHLTPHOSClusterizerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier )
77
78 {
79   //See headerfile for documentation
80   constBase = sizeof(AliHLTCaloRecPointHeaderStruct) + sizeof(AliHLTCaloRecPointDataStruct) + (sizeof(AliHLTCaloDigitDataStruct) << 7); //Reasonable estimate... ;
81   inputMultiplier = 2.0;
82 }
83
84 const Char_t*
85 AliHLTPHOSClusterizerComponent::GetComponentID()
86 {
87   //See headerfile for documentation
88   return "PhosClusterizer";
89 }
90
91 AliHLTComponent*
92 AliHLTPHOSClusterizerComponent::Spawn()
93 {
94   //See headerfile for documentation
95
96   return new AliHLTPHOSClusterizerComponent();
97 }
98
99 int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv)
100 {
101    
102    fClusterizerPtr = new AliHLTCaloClusterizer("PHOS");
103    
104    fRecoParamsPtr = new AliHLTPHOSRecoParamHandler(); 
105     
106     return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
107 }
108
109 int AliHLTPHOSClusterizerComponent::DoDeinit()
110 {
111     if(fRecoParamsPtr) 
112     {
113        delete fRecoParamsPtr;
114        fRecoParamsPtr = 0;
115     }
116     return AliHLTCaloClusterizerComponent::DoDeinit();
117 }
118
119
120 Int_t AliHLTPHOSClusterizerComponent::InitialiseGeometry()
121 {
122  
123   fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
124  
125   return 0;
126 }