#include <iostream>
#include <TObjArray.h>
#include "AliEMCalTriggerBinningComponent.h"
ClassImp(EMCalTriggerPtAnalysis::AliEMCalTriggerBinningDimension)
ClassImp(EMCalTriggerPtAnalysis::AliEMCalTriggerBinningComponent)
namespace EMCalTriggerPtAnalysis {
AliEMCalTriggerBinningComponent::AliEMCalTriggerBinningComponent() :
TObject(),
fDimensions(NULL)
{
fDimensions = new TObjArray;
fDimensions->SetOwner();
}
AliEMCalTriggerBinningComponent::AliEMCalTriggerBinningComponent(const AliEMCalTriggerBinningComponent& ref) :
TObject(ref),
fDimensions(NULL)
{
fDimensions = new TObjArray;
fDimensions->SetOwner();
TIter dimIter(ref.fDimensions);
AliEMCalTriggerBinningDimension *dim(NULL);
while((dim = dynamic_cast<AliEMCalTriggerBinningDimension *>(dimIter())))
fDimensions->Add(new AliEMCalTriggerBinningDimension(*dim));
}
AliEMCalTriggerBinningComponent& AliEMCalTriggerBinningComponent::operator=(const AliEMCalTriggerBinningComponent& ref) {
TObject::operator=(ref);
if(&ref != this){
this->~AliEMCalTriggerBinningComponent();
fDimensions = new TObjArray;
fDimensions->SetOwner();
TIter dimIter(ref.fDimensions);
AliEMCalTriggerBinningDimension *dim(NULL);
while((dim = dynamic_cast<AliEMCalTriggerBinningDimension *>(dimIter())))
fDimensions->Add(new AliEMCalTriggerBinningDimension(*dim));
}
return *this;
}
AliEMCalTriggerBinningComponent::~AliEMCalTriggerBinningComponent() {
delete fDimensions;
}
AliEMCalTriggerBinningDimension* AliEMCalTriggerBinningComponent::GetBinning(const char* name) const {
return dynamic_cast<AliEMCalTriggerBinningDimension *>(fDimensions->FindObject(name));
}
void AliEMCalTriggerBinningComponent::SetBinning(const char* dimname, int nbins, double* binning) {
AliEMCalTriggerBinningDimension *dim = GetBinning(dimname);
if(dim) dim->Set(nbins, binning);
else {
dim = new AliEMCalTriggerBinningDimension(dimname, nbins, binning);
fDimensions->Add(dim);
}
}
void AliEMCalTriggerBinningComponent::SetBinning(const char* dimname, const TArrayD& binning) {
AliEMCalTriggerBinningDimension *dim = GetBinning(dimname);
if(dim) dim->Set(binning);
else {
dim = new AliEMCalTriggerBinningDimension(dimname, binning);
fDimensions->Add(dim);
}
}
void AliEMCalTriggerBinningDimension::Print(Option_t * ) const {
std::cout << "Binning for variable " << GetName() << ":" << std::endl;
std::cout << "================================================" << std::endl;
for(int ilim = 0; ilim < fBinning.GetSize(); ilim++){
std::cout << fBinning[ilim];
if(ilim < fBinning.GetSize() -1) std::cout << ", ";
}
std::cout << std::endl;
}
}
AliEMCalTriggerBinningComponent.cxx:1 AliEMCalTriggerBinningComponent.cxx:2 AliEMCalTriggerBinningComponent.cxx:3 AliEMCalTriggerBinningComponent.cxx:4 AliEMCalTriggerBinningComponent.cxx:5 AliEMCalTriggerBinningComponent.cxx:6 AliEMCalTriggerBinningComponent.cxx:7 AliEMCalTriggerBinningComponent.cxx:8 AliEMCalTriggerBinningComponent.cxx:9 AliEMCalTriggerBinningComponent.cxx:10 AliEMCalTriggerBinningComponent.cxx:11 AliEMCalTriggerBinningComponent.cxx:12 AliEMCalTriggerBinningComponent.cxx:13 AliEMCalTriggerBinningComponent.cxx:14 AliEMCalTriggerBinningComponent.cxx:15 AliEMCalTriggerBinningComponent.cxx:16 AliEMCalTriggerBinningComponent.cxx:17 AliEMCalTriggerBinningComponent.cxx:18 AliEMCalTriggerBinningComponent.cxx:19 AliEMCalTriggerBinningComponent.cxx:20 AliEMCalTriggerBinningComponent.cxx:21 AliEMCalTriggerBinningComponent.cxx:22 AliEMCalTriggerBinningComponent.cxx:23 AliEMCalTriggerBinningComponent.cxx:24 AliEMCalTriggerBinningComponent.cxx:25 AliEMCalTriggerBinningComponent.cxx:26 AliEMCalTriggerBinningComponent.cxx:27 AliEMCalTriggerBinningComponent.cxx:28 AliEMCalTriggerBinningComponent.cxx:29 AliEMCalTriggerBinningComponent.cxx:30 AliEMCalTriggerBinningComponent.cxx:31 AliEMCalTriggerBinningComponent.cxx:32 AliEMCalTriggerBinningComponent.cxx:33 AliEMCalTriggerBinningComponent.cxx:34 AliEMCalTriggerBinningComponent.cxx:35 AliEMCalTriggerBinningComponent.cxx:36 AliEMCalTriggerBinningComponent.cxx:37 AliEMCalTriggerBinningComponent.cxx:38 AliEMCalTriggerBinningComponent.cxx:39 AliEMCalTriggerBinningComponent.cxx:40 AliEMCalTriggerBinningComponent.cxx:41 AliEMCalTriggerBinningComponent.cxx:42 AliEMCalTriggerBinningComponent.cxx:43 AliEMCalTriggerBinningComponent.cxx:44 AliEMCalTriggerBinningComponent.cxx:45 AliEMCalTriggerBinningComponent.cxx:46 AliEMCalTriggerBinningComponent.cxx:47 AliEMCalTriggerBinningComponent.cxx:48 AliEMCalTriggerBinningComponent.cxx:49 AliEMCalTriggerBinningComponent.cxx:50 AliEMCalTriggerBinningComponent.cxx:51 AliEMCalTriggerBinningComponent.cxx:52 AliEMCalTriggerBinningComponent.cxx:53 AliEMCalTriggerBinningComponent.cxx:54 AliEMCalTriggerBinningComponent.cxx:55 AliEMCalTriggerBinningComponent.cxx:56 AliEMCalTriggerBinningComponent.cxx:57 AliEMCalTriggerBinningComponent.cxx:58 AliEMCalTriggerBinningComponent.cxx:59 AliEMCalTriggerBinningComponent.cxx:60 AliEMCalTriggerBinningComponent.cxx:61 AliEMCalTriggerBinningComponent.cxx:62 AliEMCalTriggerBinningComponent.cxx:63 AliEMCalTriggerBinningComponent.cxx:64 AliEMCalTriggerBinningComponent.cxx:65 AliEMCalTriggerBinningComponent.cxx:66 AliEMCalTriggerBinningComponent.cxx:67 AliEMCalTriggerBinningComponent.cxx:68 AliEMCalTriggerBinningComponent.cxx:69 AliEMCalTriggerBinningComponent.cxx:70 AliEMCalTriggerBinningComponent.cxx:71 AliEMCalTriggerBinningComponent.cxx:72 AliEMCalTriggerBinningComponent.cxx:73 AliEMCalTriggerBinningComponent.cxx:74 AliEMCalTriggerBinningComponent.cxx:75 AliEMCalTriggerBinningComponent.cxx:76 AliEMCalTriggerBinningComponent.cxx:77 AliEMCalTriggerBinningComponent.cxx:78 AliEMCalTriggerBinningComponent.cxx:79 AliEMCalTriggerBinningComponent.cxx:80 AliEMCalTriggerBinningComponent.cxx:81 AliEMCalTriggerBinningComponent.cxx:82 AliEMCalTriggerBinningComponent.cxx:83 AliEMCalTriggerBinningComponent.cxx:84 AliEMCalTriggerBinningComponent.cxx:85 AliEMCalTriggerBinningComponent.cxx:86 AliEMCalTriggerBinningComponent.cxx:87 AliEMCalTriggerBinningComponent.cxx:88 AliEMCalTriggerBinningComponent.cxx:89 AliEMCalTriggerBinningComponent.cxx:90 AliEMCalTriggerBinningComponent.cxx:91 AliEMCalTriggerBinningComponent.cxx:92 AliEMCalTriggerBinningComponent.cxx:93 AliEMCalTriggerBinningComponent.cxx:94 AliEMCalTriggerBinningComponent.cxx:95 AliEMCalTriggerBinningComponent.cxx:96 AliEMCalTriggerBinningComponent.cxx:97 AliEMCalTriggerBinningComponent.cxx:98 AliEMCalTriggerBinningComponent.cxx:99 AliEMCalTriggerBinningComponent.cxx:100 AliEMCalTriggerBinningComponent.cxx:101 AliEMCalTriggerBinningComponent.cxx:102 AliEMCalTriggerBinningComponent.cxx:103 AliEMCalTriggerBinningComponent.cxx:104 AliEMCalTriggerBinningComponent.cxx:105 AliEMCalTriggerBinningComponent.cxx:106 AliEMCalTriggerBinningComponent.cxx:107 AliEMCalTriggerBinningComponent.cxx:108 AliEMCalTriggerBinningComponent.cxx:109 AliEMCalTriggerBinningComponent.cxx:110 AliEMCalTriggerBinningComponent.cxx:111 AliEMCalTriggerBinningComponent.cxx:112 AliEMCalTriggerBinningComponent.cxx:113 AliEMCalTriggerBinningComponent.cxx:114 AliEMCalTriggerBinningComponent.cxx:115 AliEMCalTriggerBinningComponent.cxx:116 AliEMCalTriggerBinningComponent.cxx:117 AliEMCalTriggerBinningComponent.cxx:118 AliEMCalTriggerBinningComponent.cxx:119 AliEMCalTriggerBinningComponent.cxx:120 AliEMCalTriggerBinningComponent.cxx:121 AliEMCalTriggerBinningComponent.cxx:122 AliEMCalTriggerBinningComponent.cxx:123 AliEMCalTriggerBinningComponent.cxx:124 AliEMCalTriggerBinningComponent.cxx:125 AliEMCalTriggerBinningComponent.cxx:126 AliEMCalTriggerBinningComponent.cxx:127 AliEMCalTriggerBinningComponent.cxx:128 AliEMCalTriggerBinningComponent.cxx:129 AliEMCalTriggerBinningComponent.cxx:130 AliEMCalTriggerBinningComponent.cxx:131 AliEMCalTriggerBinningComponent.cxx:132 AliEMCalTriggerBinningComponent.cxx:133 AliEMCalTriggerBinningComponent.cxx:134 AliEMCalTriggerBinningComponent.cxx:135 AliEMCalTriggerBinningComponent.cxx:136 AliEMCalTriggerBinningComponent.cxx:137 AliEMCalTriggerBinningComponent.cxx:138 AliEMCalTriggerBinningComponent.cxx:139 AliEMCalTriggerBinningComponent.cxx:140 AliEMCalTriggerBinningComponent.cxx:141 AliEMCalTriggerBinningComponent.cxx:142 AliEMCalTriggerBinningComponent.cxx:143 AliEMCalTriggerBinningComponent.cxx:144 AliEMCalTriggerBinningComponent.cxx:145 AliEMCalTriggerBinningComponent.cxx:146