#include "AliDCSArray.h"
#include "AliLog.h"
#include <TObjArray.h>
#include <TObjString.h>
#include <TString.h>
#include <TMath.h>
ClassImp(AliDCSArray)
AliDCSArray::AliDCSArray() :
TObject(),
fType(kInvalid),
fnentries(0),
fBool(0x0),
fChar(0x0),
fInt(0x0),
fUInt(0x0),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(-1.),
fDouble(0x0)
{
}
AliDCSArray::AliDCSArray(Int_t nentries, Bool_t* value, Double_t timeStamp) :
TObject(),
fType(kBool),
fnentries(nentries),
fBool(new Bool_t[fnentries]),
fChar(0x0),
fInt(0x0),
fUInt(0x0),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(0x0)
{
for (Int_t i = 0; i<fnentries; i++){
fBool[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, Char_t* value, Double_t timeStamp) :
TObject(),
fType(kChar),
fnentries(nentries),
fBool(0x0),
fChar(new Char_t[fnentries]),
fInt(0x0),
fUInt(0x0),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(0x0)
{
for (Int_t i = 0; i<fnentries; i++){
fChar[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, Int_t* value, Double_t timeStamp) :
TObject(),
fType(kInt),
fnentries(nentries),
fBool(0x0),
fChar(0x0),
fInt(new Int_t[fnentries]),
fUInt(0x0),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(0x0)
{
for (Int_t i = 0; i<fnentries; i++){
fInt[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, UInt_t* value, Double_t timeStamp) :
TObject(),
fType(kUInt),
fnentries(nentries),
fBool(0x0),
fChar(0x0),
fInt(0x0),
fUInt(new UInt_t[fnentries]),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(0x0)
{
for (Int_t i = 0; i<fnentries; i++){
fUInt[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, Float_t* value, Double_t timeStamp) :
TObject(),
fType(kFloat),
fnentries(nentries),
fBool(0x0),
fChar(0x0),
fInt(0x0),
fUInt(0x0),
fFloat(new Float_t[fnentries]),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(0x0)
{
for (Int_t i = 0; i<fnentries; i++){
fFloat[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, Double_t* value, Double_t timeStamp) :
TObject(),
fType(kDouble),
fnentries(nentries),
fBool(0x0),
fChar(0x0),
fInt(0x0),
fUInt(0x0),
fFloat(0x0),
fStringArray(0x0),
fTimeStamp(timeStamp),
fDouble(new Double_t[fnentries])
{
for (Int_t i = 0; i<fnentries; i++){
fDouble[i] = value[i];
}
}
AliDCSArray::AliDCSArray(Int_t nentries, TObjArray* value, Double_t timeStamp) :
TObject(),
fType(kString),
fnentries(nentries),
fBool(0x0),
fChar(0x0),
fInt(0x0),
fUInt(0x0),
fFloat(0x0),
fStringArray(new TObjArray()),
fTimeStamp(timeStamp),
fDouble(0x0)
{
fStringArray->SetOwner(1);
for (Int_t i = 0; i<fnentries; i++){
TObjString* strobj = new TObjString();
strobj->SetString(((TObjString*)value->At(i))->String());
fStringArray->Add(strobj);
}
}
AliDCSArray::~AliDCSArray()
{
if (fBool){
delete [] fBool;
fBool = 0x0;
}
if (fChar){
delete [] fChar;
fChar = 0x0;
}
if (fUInt){
delete [] fUInt;
fUInt = 0x0;
}
if (fInt){
delete [] fInt;
fInt = 0x0;
}
if (fFloat){
delete [] fFloat;
fFloat = 0x0;
}
if (fStringArray!=0x0){
delete fStringArray;
fStringArray = 0x0;
}
if (fDouble){
delete [] fDouble;
fDouble = 0x0;
}
}
void AliDCSArray::Init()
{
fType = kInvalid;
fnentries = 0;
fBool = 0x0;
fChar = 0x0;
fInt = 0x0;
fUInt = 0x0;
fFloat = 0x0;
fDouble = 0x0;
fStringArray = 0x0;
fTimeStamp = -1.;
}