#include "AliITSTriggerAlgorithmConditions.h"
#include <TObjString.h>
ClassImp(AliITSTriggerAlgorithmConditions)
AliITSTriggerAlgorithmConditions::AliITSTriggerAlgorithmConditions():
TObject(),
fId(0),
fLabel(TString("label")),
fDescription(TString("descr")),
fNumParam(0),
fParamNames(TObjArray(3)),
fParamValues(TArrayI(3))
{
fParamNames.SetOwner(kTRUE);
}
AliITSTriggerAlgorithmConditions::AliITSTriggerAlgorithmConditions(UShort_t id, const Char_t* label, const Char_t* descr):
TObject(),
fId(id),
fLabel(label),
fDescription(descr),
fNumParam(0),
fParamNames(TObjArray(3)),
fParamValues(TArrayI(3))
{
fParamNames.SetOwner(kTRUE);
}
AliITSTriggerAlgorithmConditions::AliITSTriggerAlgorithmConditions(const AliITSTriggerAlgorithmConditions& cond):
TObject(),
fId(cond.fId),
fLabel(cond.fLabel),
fDescription(cond.fDescription),
fNumParam(cond.fNumParam),
fParamNames(cond.fParamNames),
fParamValues(cond.fParamValues)
{
fParamNames.SetOwner(kTRUE);
}
AliITSTriggerAlgorithmConditions::~AliITSTriggerAlgorithmConditions()
{
ClearParams();
}
AliITSTriggerAlgorithmConditions& AliITSTriggerAlgorithmConditions::operator=(const AliITSTriggerAlgorithmConditions& cond) {
if (this!=&cond) {
fId = cond.fId;
fLabel = cond.fLabel;
fDescription = cond.fDescription;
fNumParam = cond.fNumParam;
fParamNames = cond.fParamNames;
fParamValues = cond.fParamValues;
}
return *this;
}
void AliITSTriggerAlgorithmConditions::ClearParams() {
fParamNames.Clear();
fNumParam=0;
}
void AliITSTriggerAlgorithmConditions::AddParam(const Char_t* name, Int_t value) {
UShort_t findIndex=fNumParam;
for (UInt_t i=0; i<fNumParam; i++) {
if (((TObjString*)fParamNames.At(i))->GetString().CompareTo(name, TString::kIgnoreCase) == 0) {
findIndex = i;
break;
}
}
if (findIndex<fNumParam) {
fParamValues[findIndex]=value;
}
else {
fParamNames.AddAtAndExpand(new TObjString(name),fNumParam);
Int_t valSize = fParamValues.GetSize();
if (valSize<=fNumParam) fParamValues.Set(valSize*2);
fParamValues[fNumParam]=value;
fNumParam++;
}
}
const Char_t* AliITSTriggerAlgorithmConditions::GetParamNameI(UShort_t index) const {
if (index>=fNumParam) {
Error("AliITSTriggerAlgorithmConditions::GetParamNameI", "index %d out of range", index);
return "dummy";
}
return ((TObjString*)fParamNames.At(index))->GetString().Data();
}
Int_t AliITSTriggerAlgorithmConditions::GetParamValueI(UShort_t index) const {
if (index>=fNumParam) {
Error("AliITSTriggerAlgorithmConditions::GetParamValueI", "index %d out of range", index);
return -1;
}
return fParamValues.At(index);
}
Int_t AliITSTriggerAlgorithmConditions::GetParamValueN(const Char_t* name) const {
UShort_t findIndex=fNumParam;
for (UInt_t i=0; i<fNumParam; i++) {
if (((TObjString*)fParamNames.At(i))->GetString().CompareTo(name, TString::kIgnoreCase) == 0) {
findIndex = i;
break;
}
}
if (findIndex==fNumParam) {
Error("AliITSTriggerAlgorithmConditions::GetParamValueN", "name %s not found", name);
return -1;
}
return fParamValues.At(findIndex);
}
AliITSTriggerAlgorithmConditions.cxx:1 AliITSTriggerAlgorithmConditions.cxx:2 AliITSTriggerAlgorithmConditions.cxx:3 AliITSTriggerAlgorithmConditions.cxx:4 AliITSTriggerAlgorithmConditions.cxx:5 AliITSTriggerAlgorithmConditions.cxx:6 AliITSTriggerAlgorithmConditions.cxx:7 AliITSTriggerAlgorithmConditions.cxx:8 AliITSTriggerAlgorithmConditions.cxx:9 AliITSTriggerAlgorithmConditions.cxx:10 AliITSTriggerAlgorithmConditions.cxx:11 AliITSTriggerAlgorithmConditions.cxx:12 AliITSTriggerAlgorithmConditions.cxx:13 AliITSTriggerAlgorithmConditions.cxx:14 AliITSTriggerAlgorithmConditions.cxx:15 AliITSTriggerAlgorithmConditions.cxx:16 AliITSTriggerAlgorithmConditions.cxx:17 AliITSTriggerAlgorithmConditions.cxx:18 AliITSTriggerAlgorithmConditions.cxx:19 AliITSTriggerAlgorithmConditions.cxx:20 AliITSTriggerAlgorithmConditions.cxx:21 AliITSTriggerAlgorithmConditions.cxx:22 AliITSTriggerAlgorithmConditions.cxx:23 AliITSTriggerAlgorithmConditions.cxx:24 AliITSTriggerAlgorithmConditions.cxx:25 AliITSTriggerAlgorithmConditions.cxx:26 AliITSTriggerAlgorithmConditions.cxx:27 AliITSTriggerAlgorithmConditions.cxx:28 AliITSTriggerAlgorithmConditions.cxx:29 AliITSTriggerAlgorithmConditions.cxx:30 AliITSTriggerAlgorithmConditions.cxx:31 AliITSTriggerAlgorithmConditions.cxx:32 AliITSTriggerAlgorithmConditions.cxx:33 AliITSTriggerAlgorithmConditions.cxx:34 AliITSTriggerAlgorithmConditions.cxx:35 AliITSTriggerAlgorithmConditions.cxx:36 AliITSTriggerAlgorithmConditions.cxx:37 AliITSTriggerAlgorithmConditions.cxx:38 AliITSTriggerAlgorithmConditions.cxx:39 AliITSTriggerAlgorithmConditions.cxx:40 AliITSTriggerAlgorithmConditions.cxx:41 AliITSTriggerAlgorithmConditions.cxx:42 AliITSTriggerAlgorithmConditions.cxx:43 AliITSTriggerAlgorithmConditions.cxx:44 AliITSTriggerAlgorithmConditions.cxx:45 AliITSTriggerAlgorithmConditions.cxx:46 AliITSTriggerAlgorithmConditions.cxx:47 AliITSTriggerAlgorithmConditions.cxx:48 AliITSTriggerAlgorithmConditions.cxx:49 AliITSTriggerAlgorithmConditions.cxx:50 AliITSTriggerAlgorithmConditions.cxx:51 AliITSTriggerAlgorithmConditions.cxx:52 AliITSTriggerAlgorithmConditions.cxx:53 AliITSTriggerAlgorithmConditions.cxx:54 AliITSTriggerAlgorithmConditions.cxx:55 AliITSTriggerAlgorithmConditions.cxx:56 AliITSTriggerAlgorithmConditions.cxx:57 AliITSTriggerAlgorithmConditions.cxx:58 AliITSTriggerAlgorithmConditions.cxx:59 AliITSTriggerAlgorithmConditions.cxx:60 AliITSTriggerAlgorithmConditions.cxx:61 AliITSTriggerAlgorithmConditions.cxx:62 AliITSTriggerAlgorithmConditions.cxx:63 AliITSTriggerAlgorithmConditions.cxx:64 AliITSTriggerAlgorithmConditions.cxx:65 AliITSTriggerAlgorithmConditions.cxx:66 AliITSTriggerAlgorithmConditions.cxx:67 AliITSTriggerAlgorithmConditions.cxx:68 AliITSTriggerAlgorithmConditions.cxx:69 AliITSTriggerAlgorithmConditions.cxx:70 AliITSTriggerAlgorithmConditions.cxx:71 AliITSTriggerAlgorithmConditions.cxx:72 AliITSTriggerAlgorithmConditions.cxx:73 AliITSTriggerAlgorithmConditions.cxx:74 AliITSTriggerAlgorithmConditions.cxx:75 AliITSTriggerAlgorithmConditions.cxx:76 AliITSTriggerAlgorithmConditions.cxx:77 AliITSTriggerAlgorithmConditions.cxx:78 AliITSTriggerAlgorithmConditions.cxx:79 AliITSTriggerAlgorithmConditions.cxx:80 AliITSTriggerAlgorithmConditions.cxx:81 AliITSTriggerAlgorithmConditions.cxx:82 AliITSTriggerAlgorithmConditions.cxx:83 AliITSTriggerAlgorithmConditions.cxx:84 AliITSTriggerAlgorithmConditions.cxx:85 AliITSTriggerAlgorithmConditions.cxx:86 AliITSTriggerAlgorithmConditions.cxx:87 AliITSTriggerAlgorithmConditions.cxx:88 AliITSTriggerAlgorithmConditions.cxx:89 AliITSTriggerAlgorithmConditions.cxx:90 AliITSTriggerAlgorithmConditions.cxx:91 AliITSTriggerAlgorithmConditions.cxx:92 AliITSTriggerAlgorithmConditions.cxx:93 AliITSTriggerAlgorithmConditions.cxx:94 AliITSTriggerAlgorithmConditions.cxx:95 AliITSTriggerAlgorithmConditions.cxx:96 AliITSTriggerAlgorithmConditions.cxx:97 AliITSTriggerAlgorithmConditions.cxx:98 AliITSTriggerAlgorithmConditions.cxx:99 AliITSTriggerAlgorithmConditions.cxx:100 AliITSTriggerAlgorithmConditions.cxx:101 AliITSTriggerAlgorithmConditions.cxx:102 AliITSTriggerAlgorithmConditions.cxx:103 AliITSTriggerAlgorithmConditions.cxx:104 AliITSTriggerAlgorithmConditions.cxx:105 AliITSTriggerAlgorithmConditions.cxx:106 AliITSTriggerAlgorithmConditions.cxx:107 AliITSTriggerAlgorithmConditions.cxx:108 AliITSTriggerAlgorithmConditions.cxx:109 AliITSTriggerAlgorithmConditions.cxx:110 AliITSTriggerAlgorithmConditions.cxx:111 AliITSTriggerAlgorithmConditions.cxx:112 AliITSTriggerAlgorithmConditions.cxx:113 AliITSTriggerAlgorithmConditions.cxx:114 AliITSTriggerAlgorithmConditions.cxx:115 AliITSTriggerAlgorithmConditions.cxx:116 AliITSTriggerAlgorithmConditions.cxx:117 AliITSTriggerAlgorithmConditions.cxx:118 AliITSTriggerAlgorithmConditions.cxx:119 AliITSTriggerAlgorithmConditions.cxx:120 AliITSTriggerAlgorithmConditions.cxx:121 AliITSTriggerAlgorithmConditions.cxx:122 AliITSTriggerAlgorithmConditions.cxx:123 AliITSTriggerAlgorithmConditions.cxx:124 AliITSTriggerAlgorithmConditions.cxx:125 AliITSTriggerAlgorithmConditions.cxx:126 AliITSTriggerAlgorithmConditions.cxx:127 AliITSTriggerAlgorithmConditions.cxx:128 AliITSTriggerAlgorithmConditions.cxx:129 AliITSTriggerAlgorithmConditions.cxx:130 AliITSTriggerAlgorithmConditions.cxx:131 AliITSTriggerAlgorithmConditions.cxx:132 AliITSTriggerAlgorithmConditions.cxx:133 AliITSTriggerAlgorithmConditions.cxx:134 AliITSTriggerAlgorithmConditions.cxx:135