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