#include <TObject.h>
#include <iostream>
#include <TString.h>
#include "TMap.h"
#include "TObjArray.h"
#include "TObjString.h"
#include "TIterator.h"
#include "AliTPCCalPad.h"
#include "AliTPCCalROC.h"
#include "AliTPCCalibViewer.h"
#include "AliTPCPreprocessorOnline.h"
#include <fstream>
ClassImp(AliTPCPreprocessorOnline)
AliTPCPreprocessorOnline::AliTPCPreprocessorOnline():TObject(), fMap(0)
{
fMap = new TMap();
}
AliTPCPreprocessorOnline::AliTPCPreprocessorOnline(const AliTPCPreprocessorOnline &c):TObject(c), fMap(0)
{
fMap = c.fMap;
printf("AliTPCPreprocessorOnline's copy constructor called, NOT WORKING!!!\n");
}
AliTPCPreprocessorOnline::AliTPCPreprocessorOnline(TMap *map):TObject(), fMap(0)
{
fMap = map;
}
AliTPCPreprocessorOnline & AliTPCPreprocessorOnline::operator =(const AliTPCPreprocessorOnline & param){
if (this == ¶m) return (*this);
fMap = param.fMap;
std::cout << "AliTPCPreprocessorOnline's assignment operator called, NOT WORKING!!!" << std::endl;
return (*this);
}
AliTPCPreprocessorOnline::~AliTPCPreprocessorOnline()
{
printf("AliTPCPreprocessorOnline's destructor called. \n");
fMap->DeleteValues();
delete fMap;
}
void AliTPCPreprocessorOnline::AddComponent(TObject *obj) {
if (!obj) return;
TString objName = obj->GetName();
if (TString(obj->ClassName()) == "AliTPCCalPad") {
AliTPCCalPad *calPad = (AliTPCCalPad*)obj;
TObject *listObj = fMap->GetValue(calPad->GetName());
if (listObj == 0) {
fMap->Add(new TObjString(calPad->GetName()), calPad);
return;
}
if (TString(listObj->ClassName()) != "AliTPCCalPad")
Error("AddComponent", "Mismatch in internal list: '%s' is no AliTPCCalPad. \n", listObj->ClassName());
AliTPCCalPad *listCalPad = (AliTPCCalPad*)listObj;
listCalPad->Add(listCalPad, -1);
listCalPad->Add(calPad);
return;
}
if (TString(obj->ClassName()) == "AliTPCCalROC") {
if (! objName.Contains("_ROC"))
Warning("AddComponent", "Uncomplete object name: '%s' is missing _ROC<ROC_number>\n", objName.Data());
TObjArray *stokens = objName.Tokenize("_ROC");
TString rocNumber("");
if (stokens->GetEntriesFast()>1) rocNumber = ((TObjString*)stokens->At(1))->GetString();
delete stokens;
Int_t iroc = -1;
if (rocNumber.IsAlnum()) iroc = rocNumber.Atoi();
TString removeString("_ROC");
removeString += rocNumber;
objName.ReplaceAll(removeString, "");
TObject *listObj = fMap->GetValue(objName.Data());
AliTPCCalROC *calROC = (AliTPCCalROC*)obj;
if (iroc == -1) iroc = calROC->GetSector();
if (iroc != (Int_t)calROC->GetSector())
Warning("AddComponent","Mismatch in ROC_number: ROC has number %i, in its name %i was specified. Treating now as %i. \n", calROC->GetSector(), iroc, iroc);
calROC->SetNameTitle(objName.Data(), objName.Data());
if (listObj == 0) {
AliTPCCalPad *calPad = new AliTPCCalPad(objName.Data(), objName.Data());
calPad->SetCalROC(calROC, iroc);
fMap->Add(new TObjString(objName.Data()), calPad);
return;
}
if (TString(listObj->ClassName()) != "AliTPCCalPad")
Error("AddComponent", "Mismatch in internal list: '%s' is no AliTPCCalPad \n", listObj->ClassName());
AliTPCCalPad *listCalPad = (AliTPCCalPad*)listObj;
listCalPad->SetCalROC(calROC, iroc);
return;
}
Warning("AddComponent", "Unknown calibration object '%s', skipped.\n", obj->ClassName());
return;
}
void AliTPCPreprocessorOnline::DumpToFile(const char* fileName){
printf("AliTPCPreprocessorOnline::DumpToFile\n");
TObjArray *listOfCalPads = new TObjArray();
TIterator *iterator = fMap->MakeIterator();
AliTPCCalPad *calPad = 0x0;
TObject * obj=0;
while ( ( obj = iterator->Next()) ) {
calPad = (AliTPCCalPad*)fMap->GetValue(obj);
if (!calPad) continue;
calPad = (AliTPCCalPad*)calPad;
printf("adding the following element to the TObjList: %s \n", calPad->GetName());
printf("It's type:: %s \n", calPad->ClassName());
calPad->Print();
listOfCalPads->Add(calPad);
}
printf("writing the tree... \n");
AliTPCCalibViewer::MakeTree(fileName, listOfCalPads, 0);
}
AliTPCPreprocessorOnline.cxx:1 AliTPCPreprocessorOnline.cxx:2 AliTPCPreprocessorOnline.cxx:3 AliTPCPreprocessorOnline.cxx:4 AliTPCPreprocessorOnline.cxx:5 AliTPCPreprocessorOnline.cxx:6 AliTPCPreprocessorOnline.cxx:7 AliTPCPreprocessorOnline.cxx:8 AliTPCPreprocessorOnline.cxx:9 AliTPCPreprocessorOnline.cxx:10 AliTPCPreprocessorOnline.cxx:11 AliTPCPreprocessorOnline.cxx:12 AliTPCPreprocessorOnline.cxx:13 AliTPCPreprocessorOnline.cxx:14 AliTPCPreprocessorOnline.cxx:15 AliTPCPreprocessorOnline.cxx:16 AliTPCPreprocessorOnline.cxx:17 AliTPCPreprocessorOnline.cxx:18 AliTPCPreprocessorOnline.cxx:19 AliTPCPreprocessorOnline.cxx:20 AliTPCPreprocessorOnline.cxx:21 AliTPCPreprocessorOnline.cxx:22 AliTPCPreprocessorOnline.cxx:23 AliTPCPreprocessorOnline.cxx:24 AliTPCPreprocessorOnline.cxx:25 AliTPCPreprocessorOnline.cxx:26 AliTPCPreprocessorOnline.cxx:27 AliTPCPreprocessorOnline.cxx:28 AliTPCPreprocessorOnline.cxx:29 AliTPCPreprocessorOnline.cxx:30 AliTPCPreprocessorOnline.cxx:31 AliTPCPreprocessorOnline.cxx:32 AliTPCPreprocessorOnline.cxx:33 AliTPCPreprocessorOnline.cxx:34 AliTPCPreprocessorOnline.cxx:35 AliTPCPreprocessorOnline.cxx:36 AliTPCPreprocessorOnline.cxx:37 AliTPCPreprocessorOnline.cxx:38 AliTPCPreprocessorOnline.cxx:39 AliTPCPreprocessorOnline.cxx:40 AliTPCPreprocessorOnline.cxx:41 AliTPCPreprocessorOnline.cxx:42 AliTPCPreprocessorOnline.cxx:43 AliTPCPreprocessorOnline.cxx:44 AliTPCPreprocessorOnline.cxx:45 AliTPCPreprocessorOnline.cxx:46 AliTPCPreprocessorOnline.cxx:47 AliTPCPreprocessorOnline.cxx:48 AliTPCPreprocessorOnline.cxx:49 AliTPCPreprocessorOnline.cxx:50 AliTPCPreprocessorOnline.cxx:51 AliTPCPreprocessorOnline.cxx:52 AliTPCPreprocessorOnline.cxx:53 AliTPCPreprocessorOnline.cxx:54 AliTPCPreprocessorOnline.cxx:55 AliTPCPreprocessorOnline.cxx:56 AliTPCPreprocessorOnline.cxx:57 AliTPCPreprocessorOnline.cxx:58 AliTPCPreprocessorOnline.cxx:59 AliTPCPreprocessorOnline.cxx:60 AliTPCPreprocessorOnline.cxx:61 AliTPCPreprocessorOnline.cxx:62 AliTPCPreprocessorOnline.cxx:63 AliTPCPreprocessorOnline.cxx:64 AliTPCPreprocessorOnline.cxx:65 AliTPCPreprocessorOnline.cxx:66 AliTPCPreprocessorOnline.cxx:67 AliTPCPreprocessorOnline.cxx:68 AliTPCPreprocessorOnline.cxx:69 AliTPCPreprocessorOnline.cxx:70 AliTPCPreprocessorOnline.cxx:71 AliTPCPreprocessorOnline.cxx:72 AliTPCPreprocessorOnline.cxx:73 AliTPCPreprocessorOnline.cxx:74 AliTPCPreprocessorOnline.cxx:75 AliTPCPreprocessorOnline.cxx:76 AliTPCPreprocessorOnline.cxx:77 AliTPCPreprocessorOnline.cxx:78 AliTPCPreprocessorOnline.cxx:79 AliTPCPreprocessorOnline.cxx:80 AliTPCPreprocessorOnline.cxx:81 AliTPCPreprocessorOnline.cxx:82 AliTPCPreprocessorOnline.cxx:83 AliTPCPreprocessorOnline.cxx:84 AliTPCPreprocessorOnline.cxx:85 AliTPCPreprocessorOnline.cxx:86 AliTPCPreprocessorOnline.cxx:87 AliTPCPreprocessorOnline.cxx:88 AliTPCPreprocessorOnline.cxx:89 AliTPCPreprocessorOnline.cxx:90 AliTPCPreprocessorOnline.cxx:91 AliTPCPreprocessorOnline.cxx:92 AliTPCPreprocessorOnline.cxx:93 AliTPCPreprocessorOnline.cxx:94 AliTPCPreprocessorOnline.cxx:95 AliTPCPreprocessorOnline.cxx:96 AliTPCPreprocessorOnline.cxx:97 AliTPCPreprocessorOnline.cxx:98 AliTPCPreprocessorOnline.cxx:99 AliTPCPreprocessorOnline.cxx:100 AliTPCPreprocessorOnline.cxx:101 AliTPCPreprocessorOnline.cxx:102 AliTPCPreprocessorOnline.cxx:103 AliTPCPreprocessorOnline.cxx:104 AliTPCPreprocessorOnline.cxx:105 AliTPCPreprocessorOnline.cxx:106 AliTPCPreprocessorOnline.cxx:107 AliTPCPreprocessorOnline.cxx:108 AliTPCPreprocessorOnline.cxx:109 AliTPCPreprocessorOnline.cxx:110 AliTPCPreprocessorOnline.cxx:111 AliTPCPreprocessorOnline.cxx:112 AliTPCPreprocessorOnline.cxx:113 AliTPCPreprocessorOnline.cxx:114 AliTPCPreprocessorOnline.cxx:115 AliTPCPreprocessorOnline.cxx:116 AliTPCPreprocessorOnline.cxx:117 AliTPCPreprocessorOnline.cxx:118 AliTPCPreprocessorOnline.cxx:119 AliTPCPreprocessorOnline.cxx:120 AliTPCPreprocessorOnline.cxx:121 AliTPCPreprocessorOnline.cxx:122 AliTPCPreprocessorOnline.cxx:123 AliTPCPreprocessorOnline.cxx:124 AliTPCPreprocessorOnline.cxx:125 AliTPCPreprocessorOnline.cxx:126 AliTPCPreprocessorOnline.cxx:127 AliTPCPreprocessorOnline.cxx:128 AliTPCPreprocessorOnline.cxx:129 AliTPCPreprocessorOnline.cxx:130 AliTPCPreprocessorOnline.cxx:131 AliTPCPreprocessorOnline.cxx:132 AliTPCPreprocessorOnline.cxx:133 AliTPCPreprocessorOnline.cxx:134 AliTPCPreprocessorOnline.cxx:135 AliTPCPreprocessorOnline.cxx:136 AliTPCPreprocessorOnline.cxx:137 AliTPCPreprocessorOnline.cxx:138 AliTPCPreprocessorOnline.cxx:139 AliTPCPreprocessorOnline.cxx:140 AliTPCPreprocessorOnline.cxx:141 AliTPCPreprocessorOnline.cxx:142 AliTPCPreprocessorOnline.cxx:143 AliTPCPreprocessorOnline.cxx:144 AliTPCPreprocessorOnline.cxx:145 AliTPCPreprocessorOnline.cxx:146 AliTPCPreprocessorOnline.cxx:147 AliTPCPreprocessorOnline.cxx:148 AliTPCPreprocessorOnline.cxx:149 AliTPCPreprocessorOnline.cxx:150 AliTPCPreprocessorOnline.cxx:151 AliTPCPreprocessorOnline.cxx:152 AliTPCPreprocessorOnline.cxx:153 AliTPCPreprocessorOnline.cxx:154 AliTPCPreprocessorOnline.cxx:155 AliTPCPreprocessorOnline.cxx:156 AliTPCPreprocessorOnline.cxx:157 AliTPCPreprocessorOnline.cxx:158 AliTPCPreprocessorOnline.cxx:159 AliTPCPreprocessorOnline.cxx:160 AliTPCPreprocessorOnline.cxx:161 AliTPCPreprocessorOnline.cxx:162 AliTPCPreprocessorOnline.cxx:163 AliTPCPreprocessorOnline.cxx:164 AliTPCPreprocessorOnline.cxx:165 AliTPCPreprocessorOnline.cxx:166 AliTPCPreprocessorOnline.cxx:167 AliTPCPreprocessorOnline.cxx:168 AliTPCPreprocessorOnline.cxx:169 AliTPCPreprocessorOnline.cxx:170 AliTPCPreprocessorOnline.cxx:171 AliTPCPreprocessorOnline.cxx:172 AliTPCPreprocessorOnline.cxx:173 AliTPCPreprocessorOnline.cxx:174 AliTPCPreprocessorOnline.cxx:175 AliTPCPreprocessorOnline.cxx:176 AliTPCPreprocessorOnline.cxx:177 AliTPCPreprocessorOnline.cxx:178 AliTPCPreprocessorOnline.cxx:179 AliTPCPreprocessorOnline.cxx:180 AliTPCPreprocessorOnline.cxx:181 AliTPCPreprocessorOnline.cxx:182 AliTPCPreprocessorOnline.cxx:183 AliTPCPreprocessorOnline.cxx:184 AliTPCPreprocessorOnline.cxx:185 AliTPCPreprocessorOnline.cxx:186 AliTPCPreprocessorOnline.cxx:187 AliTPCPreprocessorOnline.cxx:188 AliTPCPreprocessorOnline.cxx:189 AliTPCPreprocessorOnline.cxx:190 AliTPCPreprocessorOnline.cxx:191 AliTPCPreprocessorOnline.cxx:192 AliTPCPreprocessorOnline.cxx:193 AliTPCPreprocessorOnline.cxx:194 AliTPCPreprocessorOnline.cxx:195 AliTPCPreprocessorOnline.cxx:196 AliTPCPreprocessorOnline.cxx:197 AliTPCPreprocessorOnline.cxx:198 AliTPCPreprocessorOnline.cxx:199 AliTPCPreprocessorOnline.cxx:200 AliTPCPreprocessorOnline.cxx:201 AliTPCPreprocessorOnline.cxx:202 AliTPCPreprocessorOnline.cxx:203 AliTPCPreprocessorOnline.cxx:204 AliTPCPreprocessorOnline.cxx:205 AliTPCPreprocessorOnline.cxx:206 AliTPCPreprocessorOnline.cxx:207 AliTPCPreprocessorOnline.cxx:208 AliTPCPreprocessorOnline.cxx:209 AliTPCPreprocessorOnline.cxx:210 AliTPCPreprocessorOnline.cxx:211 AliTPCPreprocessorOnline.cxx:212 AliTPCPreprocessorOnline.cxx:213 AliTPCPreprocessorOnline.cxx:214 AliTPCPreprocessorOnline.cxx:215 AliTPCPreprocessorOnline.cxx:216 AliTPCPreprocessorOnline.cxx:217 AliTPCPreprocessorOnline.cxx:218 AliTPCPreprocessorOnline.cxx:219 AliTPCPreprocessorOnline.cxx:220 AliTPCPreprocessorOnline.cxx:221 AliTPCPreprocessorOnline.cxx:222 AliTPCPreprocessorOnline.cxx:223 AliTPCPreprocessorOnline.cxx:224 AliTPCPreprocessorOnline.cxx:225 AliTPCPreprocessorOnline.cxx:226 AliTPCPreprocessorOnline.cxx:227 AliTPCPreprocessorOnline.cxx:228 AliTPCPreprocessorOnline.cxx:229 AliTPCPreprocessorOnline.cxx:230 AliTPCPreprocessorOnline.cxx:231 AliTPCPreprocessorOnline.cxx:232 AliTPCPreprocessorOnline.cxx:233 AliTPCPreprocessorOnline.cxx:234 AliTPCPreprocessorOnline.cxx:235 AliTPCPreprocessorOnline.cxx:236 AliTPCPreprocessorOnline.cxx:237 AliTPCPreprocessorOnline.cxx:238 AliTPCPreprocessorOnline.cxx:239 AliTPCPreprocessorOnline.cxx:240 AliTPCPreprocessorOnline.cxx:241 AliTPCPreprocessorOnline.cxx:242 AliTPCPreprocessorOnline.cxx:243 AliTPCPreprocessorOnline.cxx:244 AliTPCPreprocessorOnline.cxx:245 AliTPCPreprocessorOnline.cxx:246 AliTPCPreprocessorOnline.cxx:247 AliTPCPreprocessorOnline.cxx:248 AliTPCPreprocessorOnline.cxx:249 AliTPCPreprocessorOnline.cxx:250 AliTPCPreprocessorOnline.cxx:251