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