]>
Commit | Line | Data |
---|---|---|
59b3dd4b | 1 | // $Id$ |
618f422f | 2 | //************************************************************************** |
3 | //* This file is property of and copyright by the ALICE HLT Project * | |
4 | //* ALICE Experiment at CERN, All rights reserved. * | |
5 | //* * | |
6 | //* Primary Authors: Kenneth Aamodt, Sergey Gorbunov * | |
7 | //* for The ALICE HLT Project. * | |
8 | //* * | |
9 | //* Permission to use, copy, modify and distribute this software and its * | |
10 | //* documentation strictly for non-commercial purposes is hereby granted * | |
11 | //* without fee, provided that the above copyright notice appears in all * | |
12 | //* copies and that both the copyright notice and this permission notice * | |
13 | //* appear in the supporting documentation. The authors make no claims * | |
14 | //* about the suitability of this software for any purpose. It is * | |
15 | //* provided "as is" without express or implied warranty. * | |
16 | //************************************************************************** | |
17 | ||
18 | /** @file AliHLTITSDigitPublisherComponent.cxx | |
19 | @author Kenneth Aamodt, Sergey Gorbunov | |
20 | @date | |
21 | @brief Component to run offline clusterfinders | |
22 | */ | |
23 | ||
24 | #if __GNUC__>= 3 | |
25 | using namespace std; | |
26 | #endif | |
27 | ||
28 | #include <TSystem.h> | |
29 | #include <TROOT.h> | |
30 | #include "AliHLTITSDigitPublisherComponent.h" | |
31 | #include "AliRun.h" | |
32 | #include "AliRunLoader.h" | |
33 | #include "AliGeomManager.h" | |
34 | #include "AliITSInitGeometry.h" | |
35 | #include "AliITSLoader.h" | |
36 | #include "AliCDBManager.h" | |
37 | #include "AliLog.h" | |
38 | #include "TTree.h" | |
39 | #include "TObjArray.h" | |
40 | #include "TClonesArray.h" | |
41 | /** ROOT macro for the implementation of ROOT specific class methods */ | |
42 | ClassImp(AliHLTITSDigitPublisherComponent); | |
43 | ||
44 | AliHLTITSDigitPublisherComponent::AliHLTITSDigitPublisherComponent() | |
45 | : | |
46 | fRunLoader(NULL), | |
47 | fITSLoader(NULL), | |
48 | fNumberOfEvents(0), | |
49 | fEventNumber(0), | |
50 | tD(NULL) | |
51 | { | |
52 | // see header file for class documentation | |
53 | // or | |
54 | // refer to README to build package | |
55 | // or | |
56 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
57 | } | |
58 | ||
59 | AliHLTITSDigitPublisherComponent::~AliHLTITSDigitPublisherComponent() { | |
60 | // see header file for class documentation | |
61 | } | |
62 | ||
63 | // Public functions to implement AliHLTComponent's interface. | |
64 | // These functions are required for the registration process | |
65 | ||
66 | const char* AliHLTITSDigitPublisherComponent::GetComponentID() | |
67 | { | |
68 | // see header file for class documentation | |
69 | return "ITSDigitPublisher"; | |
70 | } | |
71 | ||
72 | void AliHLTITSDigitPublisherComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list) { | |
73 | // see header file for class documentation | |
74 | list.clear(); | |
75 | //list.push_back( ???? | ???? ); | |
76 | } | |
77 | ||
78 | AliHLTComponentDataType AliHLTITSDigitPublisherComponent::GetOutputDataType() { | |
79 | // see header file for class documentation | |
80 | ||
59b3dd4b | 81 | return kAliHLTDataTypeAliTreeD|kAliHLTDataOriginITS; |
618f422f | 82 | } |
83 | ||
84 | void AliHLTITSDigitPublisherComponent::GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) { | |
85 | // see header file for class documentation | |
86 | constBase = 20000; | |
87 | inputMultiplier = 1000; | |
88 | } | |
89 | ||
90 | AliHLTComponent* AliHLTITSDigitPublisherComponent::Spawn() { | |
91 | // see header file for class documentation | |
92 | return new AliHLTITSDigitPublisherComponent(); | |
93 | } | |
94 | ||
95 | Int_t AliHLTITSDigitPublisherComponent::DoInit( int /*argc*/, const char** /*argv*/ ) { | |
96 | // see header file for class documentation | |
97 | ||
98 | if(AliGeomManager::GetGeometry()==NULL){ | |
99 | AliGeomManager::LoadGeometry(); | |
100 | } | |
101 | ||
102 | fRunLoader = GetRunLoader();//AliRunLoader::Open("galice.root"); | |
103 | if(!fRunLoader){ | |
104 | HLTFatal("No RunLoader found"); | |
105 | return -1; | |
106 | } | |
107 | fITSLoader = (AliITSLoader *)(fRunLoader->GetLoader("ITSLoader")); | |
108 | if(!fITSLoader){ | |
109 | HLTFatal("No ITS RunLoader found"); | |
110 | return -1; | |
111 | } | |
112 | fNumberOfEvents = fRunLoader->GetNumberOfEvents(); | |
113 | ||
114 | return 0; | |
115 | } | |
116 | ||
117 | Int_t AliHLTITSDigitPublisherComponent::DoDeinit() { | |
118 | // see header file for class documentation | |
119 | ||
120 | return 0; | |
121 | } | |
122 | ||
123 | Int_t AliHLTITSDigitPublisherComponent::GetEvent(const AliHLTComponentEventData& /*evtData*/,AliHLTComponentTriggerData& /*trigData*/) | |
124 | { | |
125 | // see header file for class documentation | |
126 | if (!IsDataEvent()) return 0; | |
127 | ||
128 | fRunLoader->GetEvent(fEventNumber); | |
129 | fITSLoader->LoadDigits("read"); | |
130 | tD = fITSLoader->TreeD(); | |
131 | if(!tD){ | |
132 | HLTFatal("No Digit Tree found"); | |
133 | return -1; | |
134 | } | |
135 | //tD->GetEntry(fEventNumber); | |
136 | ||
59b3dd4b | 137 | PushBack((TObject*)tD,kAliHLTDataTypeAliTreeD|kAliHLTDataOriginITS,0x00000000); |
618f422f | 138 | fEventNumber++; |
139 | return 0; | |
140 | } | |
141 |