ROOT logo
AliRoot » STEER » STEERBASE » AliCheb3DCalc

class AliCheb3DCalc: public TNamed

Function Members (Methods)

public:
AliCheb3DCalc()
AliCheb3DCalc(const AliCheb3DCalc& src)
AliCheb3DCalc(FILE* stream)
virtual~AliCheb3DCalc()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static Float_tChebEval1D(Float_t x, const Float_t* array, int ncf)
static Float_tChebEval1Deriv(Float_t x, const Float_t* array, int ncf)
static Float_tChebEval1Deriv2(Float_t x, const Float_t* array, int ncf)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Float_tEval(const Float_t* par) const
Double_tEval(const Double_t* par) const
Float_tEvalDeriv(int dim, const Float_t* par) const
Float_tEvalDeriv2(int dim1, int dim2, const Float_t* par) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
UShort_t*GetCoefBound2D0() const
UShort_t*GetCoefBound2D1() const
Float_t*GetCoefs() const
UShort_t*GetColAtRowBg() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tGetMaxColsAtRow() const
virtual const char*TNamed::GetName() const
Int_tGetNCoefs() const
Int_tGetNCols() const
UShort_t*GetNColsAtRow() const
Int_tGetNElemBound2D() const
Int_tGetNRows() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tGetPrecision() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInitCoefs(int nc)
voidInitCols(int nc)
voidInitElemBound2D(int ne)
voidInitRows(int nr)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
voidLoadData(FILE* stream)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliCheb3DCalc&operator=(const AliCheb3DCalc& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
static voidReadLine(TString& str, FILE* stream)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
voidSaveData(FILE* stream = stdout) const
voidSaveData(const char* outfile, Bool_t append = kFALSE) const
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPrecision(Float_t prc = 1e-6)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
UShort_t*fCoefBound2D0[fNElemBound2D] 2D matrix defining the boundary of significance for 3D coeffs.matrix (Ncoefs for col/row)
UShort_t*fCoefBound2D1[fNElemBound2D] 2D matrix defining the start beginnig of significant coeffs for col/row
Float_t*fCoefs[fNCoefs] array of Chebyshev coefficients
UShort_t*fColAtRowBg[fNRows] beginnig of significant columns (2nd dim) for row in the 2D boundary matrix
Int_tfNCoefstotal number of coeeficients
Int_tfNColsmax number of significant cols in the 3D coeffs matrix
UShort_t*fNColsAtRow[fNRows] number of sighificant columns (2nd dim) at each row of 3D coefs matrix
Int_tfNElemBound2Dnumber of elements (fNRows*fNCols) to store for the 2D boundary of significant coeffs
Int_tfNRowsnumber of significant rows in the 3D coeffs matrix
TStringTNamed::fNameobject identifier
Float_tfPrecRequested precision
TStringTNamed::fTitleobject title
Float_t*fTmpCf0[fNRows] temp. coeffs for 1d summation
Float_t*fTmpCf1[fNCols] temp. coeffs for 2d summation

Class Charts

Inheritance Chart:
TNamed
AliCheb3DCalc

Function documentation

AliCheb3DCalc()
 default constructor
AliCheb3DCalc(const AliCheb3DCalc& src)
 copy constructor

AliCheb3DCalc(FILE* stream)
 constructor from coeffs. streem
AliCheb3DCalc& operator=(const AliCheb3DCalc& rhs)
 assignment operator
void Clear(Option_t* option = "")
 delete all dynamycally allocated structures
void Print(Option_t* opt = "") const
 print info
Float_t EvalDeriv(int dim, const Float_t* par) const
 evaluate Chebyshev parameterization derivative in given dimension  for 3D function.
 VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

Float_t EvalDeriv2(int dim1, int dim2, const Float_t* par) const
 evaluate Chebyshev parameterization 2n derivative in given dimensions  for 3D function.
 VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

void SaveData(const char* outfile, Bool_t append = kFALSE) const
 writes coefficients data to output text file, optionallt appending on the end of existing file
void SaveData(FILE* stream = stdout) const
 writes coefficients data to existing output stream
 Note: fNCols, fNElemBound2D and fColAtRowBg is not stored, will be computed on fly during the loading of this file
void LoadData(FILE* stream)
 Load coefs. from the stream
void ReadLine(TString& str, FILE* stream)
 read single line from the stream, skipping empty and commented lines. EOF is not expected
void InitCols(int nc)
 Set max.number of significant columns in the coefs matrix
void InitRows(int nr)
 Set max.number of significant rows in the coefs matrix
void InitElemBound2D(int ne)
 Set max number of significant coefs for given row/column of coefs 3D matrix
void InitCoefs(int nc)
 Set total number of significant coefs
Float_t ChebEval1Deriv(Float_t x, const Float_t* array, int ncf)
 evaluate 1D Chebyshev parameterization's derivative. x is the argument mapped to [-1:1] interval
Float_t ChebEval1Deriv2(Float_t x, const Float_t* array, int ncf)
 evaluate 1D Chebyshev parameterization's 2nd derivative. x is the argument mapped to [-1:1] interval
Int_t GetMaxColsAtRow() const
Float_t ChebEval1D(Float_t x, const Float_t* array, int ncf)
Float_t Eval(const Float_t* par) const
Double_t Eval(const Double_t* par) const
~AliCheb3DCalc()
{Clear();}
void SetPrecision(Float_t prc = 1e-6)
{fPrec = prc;}
Float_t GetPrecision() const
{return fPrec;}
Int_t GetNCoefs() const
{return fNCoefs;}
Int_t GetNCols() const
{return (Int_t)fNCols;}
Int_t GetNRows() const
{return (Int_t)fNRows;}
Int_t GetNElemBound2D() const
{return (Int_t)fNElemBound2D;}
UShort_t* GetNColsAtRow() const
{return fNColsAtRow;}
UShort_t* GetColAtRowBg() const
{return fColAtRowBg;}
UShort_t* GetCoefBound2D0() const
{return fCoefBound2D0;}
UShort_t* GetCoefBound2D1() const
{return fCoefBound2D1;}
Float_t * GetCoefs() const
{return fCoefs;}