]>
Commit | Line | Data |
---|---|---|
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 | |
d949e02e | 44 | AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent(): |
ad44d760 | 45 | AliHLTCaloClusterizerComponent("PHOS") |
aac22523 | 46 | { |
2374af72 | 47 | //See headerfile for documentation |
7c80a370 | 48 | |
49 | fDataOrigin = const_cast<char*>(kAliHLTDataOriginPHOS); | |
50 | ||
98baf84d | 51 | //AliHLTPHOSGeometry *geom = new AliHLTPHOSGeometry; |
7c80a370 | 52 | |
aac22523 | 53 | } |
54 | ||
55 | AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent() | |
56 | { | |
2374af72 | 57 | //See headerfile for documentation |
ad44d760 | 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 | } | |
91b95d47 | 67 | |
ad44d760 | 68 | AliHLTComponentDataType |
69 | AliHLTPHOSClusterizerComponent::GetOutputDataType() | |
70 | { | |
71 | //See headerfile for documentation | |
ee72b4e5 | 72 | return kAliHLTDataTypeCaloCluster|kAliHLTDataOriginPHOS; |
ad44d760 | 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; | |
aac22523 | 82 | } |
83 | ||
9cc0deb1 | 84 | const Char_t* |
aac22523 | 85 | AliHLTPHOSClusterizerComponent::GetComponentID() |
86 | { | |
2374af72 | 87 | //See headerfile for documentation |
d949e02e | 88 | return "PhosClusterizer"; |
aac22523 | 89 | } |
90 | ||
aac22523 | 91 | AliHLTComponent* |
92 | AliHLTPHOSClusterizerComponent::Spawn() | |
93 | { | |
2374af72 | 94 | //See headerfile for documentation |
95 | ||
aac22523 | 96 | return new AliHLTPHOSClusterizerComponent(); |
97 | } | |
427c373f | 98 | |
99 | int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv) | |
100 | { | |
101 | ||
60909644 | 102 | fClusterizerPtr = new AliHLTCaloClusterizer("PHOS"); |
103 | ||
427c373f | 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 | } |