]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSClusterizerComponent.cxx
removing the CTPData from the HLTGlobalTrigger decision because of bug #88431 until...
[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 gAliHLTPHOSClusterizerComponent;
45
46 AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent(): 
47   AliHLTCaloClusterizerComponent("PHOS")
48 {
49   //See headerfile for documentation
50
51   fDataOrigin = const_cast<char*>(kAliHLTDataOriginPHOS);
52
53   //AliHLTPHOSGeometry *geom = 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 }
100
101 int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv)
102 {
103    
104    fClusterizerPtr = new AliHLTCaloClusterizer("PHOS");
105    
106    fRecoParamsPtr = new AliHLTPHOSRecoParamHandler(); 
107     
108     return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
109 }
110
111 int AliHLTPHOSClusterizerComponent::DoDeinit()
112 {
113     if(fRecoParamsPtr) 
114     {
115        delete fRecoParamsPtr;
116        fRecoParamsPtr = 0;
117     }
118     return AliHLTCaloClusterizerComponent::DoDeinit();
119 }
120
121
122 Int_t AliHLTPHOSClusterizerComponent::InitialiseGeometry()
123 {
124  
125   fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
126  
127   return 0;
128 }