Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TMatrixTSparse< Element > Class Template Reference

template<class Element>
class TMatrixTSparse< Element >

TMatrixTSparse.

Template class of a general sparse matrix in the Harwell-Boeing format

Besides the usual shape/size descriptors of a matrix like fNrows, fRowLwb,fNcols and fColLwb, we also store a row index, fRowIndex and column index, fColIndex only for those elements unequal zero:

fRowIndex[0,..,fNrows]: Stores for each row the index range of
the elements in the data and column array
fColIndex[0,..,fNelems-1]: Stores the column number for each data
element != 0

As an example how to access all sparse data elements:

auto rowIndex = M.GetRowIndexArray();
auto colIndex = M.GetColIndexArray();
auto matrix = M.GetMatrixArray();
for (Int_t irow = 0; irow < M.GetNrows(); irow++) {
const Int_t sIndex = rowIndex[irow];
const Int_t eIndex = rowIndex[irow+1];
for (Int_t index = sIndex; index < eIndex; index++) {
const Int_t icol = colIndex[index];
const double data = matrix[index];
printf("data(%d,%d) = %.4e\n", irow + M.GetRowLwb(), icol + M.GetColLwb(), data);
}
}
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59

When checking whether sparse matrices are compatible (like in an assignment !), not only the shape parameters are compared but also the sparse structure through fRowIndex and fColIndex .

Several methods exist to fill a sparse matrix with data entries. Most are the same like for dense matrices but some care has to be taken with regard to performance. In the constructor, always the shape of the matrix has to be specified in some form . Data can be entered through the following methods :

  1. constructor from COO matrix format
    TMatrixTSparse(Int_t row_lwb,Int_t row_upb,Int_t dol_lwb,
    Int_t col_upb,Int_t nr_nonzeros,
    Int_t *row, Int_t *col,Element *data);
    It uses SetMatrixArray(..), see below
  2. constructor from Harwell-Boeing (CSR) matrix format
    TMatrixTSparse(Int_t row_lwb,Int_t row_upb,Int_t dol_lwb,
    Int_t col_upb,
    Int_t *rowptr, Int_t *col,Element *data);
    It copies input arrays into matrix .
  3. copy constructors
  4. SetMatrixArray(Int_t nr,Int_t *irow,Int_t *icol,Element *data) where it is expected that the irow,icol and data array contain nr entries . Only the entries with non-zero data[i] value are inserted. Be aware that the input data array will be modified inside the routine for doing the necessary sorting of indices !
  5. SetMatrixArray(Int_t nr,Int_t nrows,Int_t ncols,Int_t *irow, Int_t *icol,Element *data) where it is expected that the irow, icol and data array contain nr entries . It allows to reshape the matrix according to nrows and ncols. Only the entries with non-zero data[i] value are inserted. Be aware that the input data array will be modified inside the routine for doing the necessary sorting of indices !
  6. TMatrixTSparse a(n,m); for(....) { a(i,j) = .... This is a very flexible method but expensive :
    • if no entry for slot (i,j) is found in the sparse index table it will be entered, which involves some memory management !
    • before invoking this method in a loop it is smart to first set the index table through a call to SetSparseIndex(..)
  7. SetSub(Int_t row_lwb,Int_t col_lwb,const TMatrixTBase &source) the matrix to be inserted at position (row_lwb,col_lwb) can be both dense or sparse .

Definition at line 36 of file TMatrixTSparse.h.

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EMatrixCreatorsOp1 { kZero , kUnit , kTransposed , kAtA }
enum  EMatrixCreatorsOp2 { kMult , kMultTranspose , kPlus , kMinus }
enum  EStatusBits {
  kCanDelete = (1ULL << (0)) , kMustCleanup = (1ULL << (3)) , kIsReferenced = (1ULL << (4)) , kHasUUID = (1ULL << (5)) ,
  kCannotPick = (1ULL << (6)) , kNoContextMenu = (1ULL << (8)) , kInvalidObject = (1ULL << (13))
}

Public Member Functions

 TMatrixTSparse ()
 TMatrixTSparse (const TMatrixT< Element > &a, EMatrixCreatorsOp2 op, const TMatrixTSparse< Element > &b)
 Create a matrix applying a specific operation to two prototypes.
 TMatrixTSparse (const TMatrixT< Element > &another)
 TMatrixTSparse (const TMatrixTSparse< Element > &a, EMatrixCreatorsOp2 op, const TMatrixT< Element > &b)
 Create a matrix applying a specific operation to two prototypes.
 TMatrixTSparse (const TMatrixTSparse< Element > &a, EMatrixCreatorsOp2 op, const TMatrixTSparse< Element > &b)
 Create a matrix applying a specific operation to two prototypes.
 TMatrixTSparse (const TMatrixTSparse< Element > &another)
 TMatrixTSparse (EMatrixCreatorsOp1 op, const TMatrixTSparse< Element > &prototype)
 Create a matrix applying a specific operation to the prototype.
 TMatrixTSparse (Int_t nrows, Int_t ncols)
 Space is allocated for row/column indices and data, but the sparse structure information has still to be set !
 TMatrixTSparse (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t *rowptr, Int_t *col, Element *data)
 Space is allocated for row/column indices and data.
 TMatrixTSparse (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, Int_t *row, Int_t *col, Element *data)
 Space is allocated for row/column indices and data.
 TMatrixTSparse (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros=0)
 Space is allocated for row/column indices and data, but the sparse structure information has still to be set !
 ~TMatrixTSparse () override
virtual TMatrixTBase< Element > & Abs ()
 Take an absolute value of a matrix, i.e. apply Abs() to each element.
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
virtual TMatrixTBase< Element > & Apply (const TElementActionT< Element > &action)
 Apply action to each matrix element.
virtual TMatrixTBase< Element > & Apply (const TElementPosActionT< Element > &action)
 Apply action to each element of the matrix.
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
TClassClass ()
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
void Clear (Option_t *="") override
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
Element ColNorm () const override
 Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}.
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
virtual void Copy (TObject &object) const
 Copy this to obj.
virtual void Delete (Option_t *option="")
 Delete this object.
virtual Double_t Determinant () const
virtual void Determinant (Double_t &d1, Double_t &d2) const
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
void Draw (Option_t *option="") override
 Draw this matrix The histogram is named "TMatrixT" by default and no title.
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
virtual void Dump () const
 Dump contents of object on stdout.
virtual Element E2Norm () const
 Square of the Euclidean norm, SUM{ m(i,j)^2 }.
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
void ExtractRow (Int_t row, Int_t col, Element *v, Int_t n=-1) const override
 Store in array v, n matrix elements of row rown starting at column coln.
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
const Int_tGetColIndexArray () const override
Int_tGetColIndexArray () override
Int_t GetColLwb () const
Int_t GetColUpb () const
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
virtual const char * GetIconName () const
 Returns mime type name of object.
void GetMatrix2Array (Element *data, Option_t *="") const override
 Copy matrix data to array . It is assumed that array is of size >= fNelems.
const Element * GetMatrixArray () const override
Element * GetMatrixArray () override
virtual const char * GetName () const
 Returns name of object.
Int_t GetNcols () const
Int_t GetNoElements () const
Int_t GetNrows () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
virtual Option_tGetOption () const
const Int_tGetRowIndexArray () const override
Int_tGetRowIndexArray () override
Int_t GetRowLwb () const
Int_t GetRowUpb () const
TMatrixTSparse< Element > GetSub (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t *option="S") const
TMatrixTBase< Element > & GetSub (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase< Element > &target, Option_t *option="S") const override
 Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option:
virtual const char * GetTitle () const
 Returns title of object.
Element GetTol () const
virtual UInt_t GetUniqueID () const
 Return the unique object id.
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
virtual ULong_t Hash () const
 Return hash value for this object.
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
TMatrixTBase< Element > & InsertRow (Int_t row, Int_t col, const Element *v, Int_t n=-1) override
 Insert in row rown, n elements of array v at column coln.
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
void Invalidate ()
void InvertBit (UInt_t f)
TClassIsA () const override
Bool_t IsDestructed () const
 IsDestructed.
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Bool_t IsOnHeap () const
Bool_t IsOwner () const
virtual Bool_t IsSortable () const
Bool_t IsSymmetric () const override
 Check whether matrix is symmetric.
Bool_t IsValid () const
Bool_t IsZombie () const
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
void MakeValid ()
virtual Element Max () const
 return maximum vector element value
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
virtual Element Min () const
 return minimum matrix element value
void Mult (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b)
Int_t NonZeros () const override
 Compute the number of elements != 0.0.
Element Norm1 () const
TMatrixTBase< Element > & NormByDiag (const TVectorT< Element > &, Option_t *) override
 option:
Element NormInf () const
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
void operator delete (void *, size_t)
 Operator delete for sized deallocation.
void operator delete (void *ptr)
 Operator delete.
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
void operator delete[] (void *, size_t)
 Operator delete [] for sized deallocation.
void operator delete[] (void *ptr)
 Operator delete [].
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
Bool_t operator!= (Element val) const
 Are all matrix elements not equal to val?
Element operator() (Int_t rown, Int_t coln) const override
Element & operator() (Int_t rown, Int_t coln) override
TMatrixTSparse< Element > & operator*= (const TMatrixT< Element > &source)
TMatrixTSparse< Element > & operator*= (const TMatrixTSparse< Element > &source)
TMatrixTSparse< Element > & operator*= (Element val)
 Multiply every element of the matrix with val.
TMatrixTSparse< Element > & operator+= (const TMatrixT< Element > &source)
TMatrixTSparse< Element > & operator+= (const TMatrixTSparse< Element > &source)
TMatrixTSparse< Element > & operator+= (Element val)
 Add val to every element of the matrix.
TMatrixTSparse< Element > & operator-= (const TMatrixT< Element > &source)
TMatrixTSparse< Element > & operator-= (const TMatrixTSparse< Element > &source)
TMatrixTSparse< Element > & operator-= (Element val)
 Subtract val from every element of the matrix.
Bool_t operator< (Element val) const
 Are all matrix elements < val?
Bool_t operator<= (Element val) const
 Are all matrix elements <= val?
TMatrixTSparse< Element > & operator= (const TMatrixT< Element > &source)
 Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !
TMatrixTSparse< Element > & operator= (const TMatrixTSparse< Element > &source)
 Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !
TMatrixTSparse< Element > & operator= (Element val)
 Assign val to every element of the matrix.
Bool_t operator== (Element val) const
 Are all matrix elements equal to val?
Bool_t operator> (Element val) const
 Are all matrix elements > val?
Bool_t operator>= (Element val) const
 Are all matrix elements >= val?
TMatrixTSparseRow< Element > operator[] (Int_t rown)
const TMatrixTSparseRow_const< Element > operator[] (Int_t rown) const
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
void Print (Option_t *name="") const override
 Print the matrix as a table of elements.
TMatrixTBase< Element > & Randomize (Element alpha, Element beta, Double_t &seed) override
 randomize matrix element values
virtual TMatrixTSparse< Element > & RandomizePD (Element alpha, Element beta, Double_t &seed)
 randomize matrix element values but keep matrix symmetric positive definite
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
void ResetBit (UInt_t f)
TMatrixTBase< Element > & ResizeTo (const TMatrixTSparse< Element > &m)
TMatrixTBase< Element > & ResizeTo (Int_t nrows, Int_t ncols, Int_t nr_nonzeros=-1) override
 Set size of the matrix to nrows x ncols with nr_nonzeros non-zero entries if nr_nonzeros > 0 .
TMatrixTBase< Element > & ResizeTo (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros=-1) override
 Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] with nr_nonzeros non-zero entries if nr_nonzeros > 0 .
Element RowNorm () const override
 Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}.
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
TMatrixTBase< Element > & SetColIndexArray (Int_t *data) override
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
TMatrixTBase< Element > & SetMatrixArray (const Element *data, Option_t *="") override
 Copy array data to matrix .
virtual TMatrixTBase< Element > & SetMatrixArray (Int_t nr_nonzeros, Int_t *irow, Int_t *icol, Element *data)
 Copy nr elements from row/col index and data array to matrix .
virtual TMatrixTBase< Element > & SetMatrixArray (Int_t nr_nonzeros, Int_t nrows, Int_t ncols, Int_t *irow, Int_t *icol, Element *data)
TMatrixTBase< Element > & SetRowIndexArray (Int_t *data) override
TMatrixTSparse< Element > & SetSparseIndex (const TMatrixTBase< Element > &another)
 Use non-zero data of matrix source to set the sparse structure.
TMatrixTSparse< Element > & SetSparseIndex (Int_t nelem_new)
 Increase/decrease the number of non-zero elements to nelems_new.
TMatrixTSparse< Element > & SetSparseIndexAB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b)
 Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.
TMatrixTSparse< Element > & SetSparseIndexAB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b)
TMatrixTSparse< Element > & SetSparseIndexAB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b)
 Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.
TMatrixTBase< Element > & SetSub (Int_t row_lwb, Int_t col_lwb, const TMatrixTBase< Element > &source) override
 Insert matrix source starting at [row_lwb][col_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source-1][col_lwb..col_lwb+ncols_source-1];.
Element SetTol (Element tol)
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
virtual TMatrixTBase< Element > & Shift (Int_t row_shift, Int_t col_shift)
 Shift the row index by adding row_shift and the column index by adding col_shift, respectively.
virtual TMatrixTBase< Element > & Sqr ()
 Square each element of the matrix.
virtual TMatrixTBase< Element > & Sqrt ()
 Take square root of all elements.
void Streamer (TBuffer &) override
 Stream an object of class TMatrixTSparse.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual Element Sum () const
 Compute sum of elements.
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
TMatrixTSparse< Element > & T ()
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
TMatrixTSparse< Element > & Transpose (const TMatrixTSparse< Element > &source)
 Transpose a matrix. Set the matrix to ncols x nrows if nrows != ncols.
TMatrixTBase< Element > & UnitMatrix () override
 Make a unit matrix (matrix need not be a square one).
const TMatrixTSparse< Element > & Use (const TMatrixTSparse< Element > &a) const
const TMatrixTSparse< Element > & Use (Int_t nrows, Int_t ncols, Int_t nr_nonzeros, const Int_t *pRowIndex, const Int_t *pColIndex, const Element *pData) const
TMatrixTSparse< Element > & Use (Int_t nrows, Int_t ncols, Int_t nr_nonzeros, Int_t *pRowIndex, Int_t *pColIndex, Element *pData)
const TMatrixTSparse< Element > & Use (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, const Int_t *pRowIndex, const Int_t *pColIndex, const Element *pData) const
TMatrixTSparse< Element > & Use (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, Int_t *pRowIndex, Int_t *pColIndex, Element *pData)
TMatrixTSparse< Element > & Use (TMatrixTSparse< Element > &a)
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
TMatrixTBase< Element > & Zero () override
 Set matrix elements to zero.

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static Bool_t GetObjectStat ()
 Get status of object stat flag.
static Element & NaNValue ()
static void SetDtorOnly (void *obj)
 Set destructor only flag.
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.

Protected Types

enum  { kSizeMax = 25 }
enum  { kOnlyPrepStep = (1ULL << (3)) }
enum  { kWorkMax = 100 }
enum  EMatrixStatusBits { kStatus = (1ULL << (14)) }

Protected Member Functions

void Allocate (Int_t nrows, Int_t ncols, Int_t row_lwb=0, Int_t col_lwb=0, Int_t init=0, Int_t nr_nonzeros=0)
 Allocate new matrix.
void AMinusB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
 General matrix subtraction.
void AMinusB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0)
 General matrix subtraction.
void AMinusB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
 General matrix subtraction.
void AMultB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
void AMultB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0)
void AMultB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
void AMultBt (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
 General matrix multiplication.
void AMultBt (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0)
 General matrix multiplication.
void AMultBt (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
void APlusB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
void APlusB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0)
 General matrix addition.
void APlusB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0)
 General matrix addition.
void conservative_sparse_sparse_product_impl (const TMatrixTSparse< Element > &lhs, const TMatrixTSparse< Element > &rhs, Int_t constr=0)
 General Sparse Matrix Multiplication (SpMM).
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
void MakeZombie ()
Int_t ReduceSparseMatrix (Int_t nr, Int_t *row, Int_t *col, Element *data)
 Sum matrix entries corresponding to the same matrix element (i,j).

Static Protected Member Functions

static void DoubleLexSort (Int_t n, Int_t *first, Int_t *second, Element *data)
 Lexical sort on array data using indices first and second.
static void IndexedLexSort (Int_t n, Int_t *first, Int_t swapFirst, Int_t *second, Int_t swapSecond, Int_t *index)
 Lexical sort on array data using indices first and second.
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

Int_tfColIndex
Int_t fColLwb
Element * fElements
Bool_t fIsOwner
 !default kTRUE, when Use array kFALSE
Int_t fNcols
Int_t fNelems
Int_t fNrowIndex
Int_t fNrows
Int_tfRowIndex
Int_t fRowLwb
Element fTol

Private Member Functions

Element * GetElements ()

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

UInt_t fBits
 bit field status word
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

#include <TMatrixTSparse.h>

Inheritance diagram for TMatrixTSparse< Element >:
TMatrixTBase< Element > TObject

Member Enumeration Documentation

◆ anonymous enum

template<class Element>
anonymous enum
protectedinherited
Enumerator
kSizeMax 

Definition at line 106 of file TMatrixTBase.h.

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

template<class Element>
anonymous enum
protectedinherited
Enumerator
kWorkMax 

Definition at line 107 of file TMatrixTBase.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EMatrixCreatorsOp1

template<class Element>
enum TMatrixTSparse::EMatrixCreatorsOp1
Enumerator
kZero 
kUnit 
kTransposed 
kAtA 

Definition at line 80 of file TMatrixTSparse.h.

◆ EMatrixCreatorsOp2

template<class Element>
enum TMatrixTSparse::EMatrixCreatorsOp2
Enumerator
kMult 
kMultTranspose 
kPlus 
kMinus 

Definition at line 81 of file TMatrixTSparse.h.

◆ EMatrixStatusBits

template<class Element>
enum TMatrixTBase::EMatrixStatusBits
protectedinherited
Enumerator
kStatus 

Definition at line 109 of file TMatrixTBase.h.

◆ EStatusBits

enum TObject::EStatusBits
inherited
Enumerator
kCanDelete 

if object in a list can be deleted

kMustCleanup 

if object destructor must call RecursiveRemove()

kIsReferenced 

if object is referenced by a TRef or TRefArray

kHasUUID 

if object has a TUUID (its fUniqueID=UUIDNumber)

kCannotPick 

if object in a pad cannot be picked

kNoContextMenu 

if object does not want context menu

kInvalidObject 

if object ctor succeeded but object should not be used

Definition at line 70 of file TObject.h.

Constructor & Destructor Documentation

◆ TMatrixTSparse() [1/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( )
inline

Definition at line 93 of file TMatrixTSparse.h.

◆ TMatrixTSparse() [2/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( Int_t nrows,
Int_t ncols )

Space is allocated for row/column indices and data, but the sparse structure information has still to be set !

Definition at line 109 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [3/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t nr_nonzeros = 0 )

Space is allocated for row/column indices and data, but the sparse structure information has still to be set !

Definition at line 119 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [4/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t nr,
Int_t * row,
Int_t * col,
Element * data )

Space is allocated for row/column indices and data.

Sparse row/column index structure together with data is coming from the arrays, row, col and data, resp. Here row, col and data are arrays of length nr (number of nonzero elements), i.e. the matrix is stored in COO (coordinate) format. Note that the input arrays are not passed as const since they will be modified !

Definition at line 132 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [5/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t * rowptr,
Int_t * col,
Element * data )

Space is allocated for row/column indices and data.

Sparsity pattern is given by column indices and row pointers from arrays col and rowptr, resp, while matrix entries come from the array data. Arrays col and data are assumed to have length nr (number of nonzero elements), while array rowptr has length (n+1), where n=row_upb-row_lwb+1 is the number of rows.

Definition at line 176 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [6/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( const TMatrixTSparse< Element > & another)

Definition at line 213 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [7/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( const TMatrixT< Element > & another)

Definition at line 226 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [8/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( EMatrixCreatorsOp1 op,
const TMatrixTSparse< Element > & prototype )

Create a matrix applying a specific operation to the prototype.

Supported operations are: kZero, kUnit, kTransposed and kAtA

Definition at line 239 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [9/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( const TMatrixTSparse< Element > & a,
EMatrixCreatorsOp2 op,
const TMatrixTSparse< Element > & b )

Create a matrix applying a specific operation to two prototypes.

Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)

Definition at line 289 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [10/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( const TMatrixTSparse< Element > & a,
EMatrixCreatorsOp2 op,
const TMatrixT< Element > & b )

Create a matrix applying a specific operation to two prototypes.

Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)

Definition at line 321 of file TMatrixTSparse.cxx.

◆ TMatrixTSparse() [11/11]

template<class Element>
TMatrixTSparse< Element >::TMatrixTSparse ( const TMatrixT< Element > & a,
EMatrixCreatorsOp2 op,
const TMatrixTSparse< Element > & b )

Create a matrix applying a specific operation to two prototypes.

Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)

Definition at line 353 of file TMatrixTSparse.cxx.

◆ ~TMatrixTSparse()

template<class Element>
TMatrixTSparse< Element >::~TMatrixTSparse ( )
inlineoverride

Definition at line 107 of file TMatrixTSparse.h.

Member Function Documentation

◆ Abs()

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Abs ( )
virtualinherited

Take an absolute value of a matrix, i.e. apply Abs() to each element.

Definition at line 362 of file TMatrixTBase.cxx.

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ Allocate()

template<class Element>
void TMatrixTSparse< Element >::Allocate ( Int_t no_rows,
Int_t no_cols,
Int_t row_lwb = 0,
Int_t col_lwb = 0,
Int_t init = 0,
Int_t nr_nonzeros = 0 )
protected

Allocate new matrix.

Arguments are number of rows, columns, row lowerbound (0 default) and column lowerbound (0 default), 0 initialization flag and number of non-zero elements (only relevant for sparse format).

Definition at line 386 of file TMatrixTSparse.cxx.

◆ AMinusB() [1/3]

template<class Element>
void TMatrixTSparse< Element >::AMinusB ( const TMatrixT< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
protected

General matrix subtraction.

Replace this matrix with C such that C = A - B. Note, matrix C is allocated for constr=1.

Definition at line 1153 of file TMatrixTSparse.cxx.

◆ AMinusB() [2/3]

template<class Element>
void TMatrixTSparse< Element >::AMinusB ( const TMatrixTSparse< Element > & a,
const TMatrixT< Element > & b,
Int_t constr = 0 )
protected

General matrix subtraction.

Replace this matrix with C such that C = A - B. Note, matrix C is allocated for constr=1.

Definition at line 1082 of file TMatrixTSparse.cxx.

◆ AMinusB() [3/3]

template<class Element>
void TMatrixTSparse< Element >::AMinusB ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
protected

General matrix subtraction.

Replace this matrix with C such that C = A - B. Note, matrix C is allocated for constr=1.

Definition at line 1000 of file TMatrixTSparse.cxx.

◆ AMultB() [1/3]

template<class Element>
void TMatrixTSparse< Element >::AMultB ( const TMatrixT< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
inlineprotected

Definition at line 54 of file TMatrixTSparse.h.

◆ AMultB() [2/3]

template<class Element>
void TMatrixTSparse< Element >::AMultB ( const TMatrixTSparse< Element > & a,
const TMatrixT< Element > & b,
Int_t constr = 0 )
inlineprotected

Definition at line 51 of file TMatrixTSparse.h.

◆ AMultB() [3/3]

template<class Element>
void TMatrixTSparse< Element >::AMultB ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
inlineprotected

Definition at line 48 of file TMatrixTSparse.h.

◆ AMultBt() [1/3]

template<class Element>
void TMatrixTSparse< Element >::AMultBt ( const TMatrixT< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
protected

General matrix multiplication.

Replace this matrix with C such that C = A * B'. Note, matrix C is allocated for constr=1.

Definition at line 755 of file TMatrixTSparse.cxx.

◆ AMultBt() [2/3]

template<class Element>
void TMatrixTSparse< Element >::AMultBt ( const TMatrixTSparse< Element > & a,
const TMatrixT< Element > & b,
Int_t constr = 0 )
protected

General matrix multiplication.

Replace this matrix with C such that C = A * B'. Note, matrix C is allocated for constr=1.

Definition at line 664 of file TMatrixTSparse.cxx.

◆ AMultBt() [3/3]

template<class Element>
void TMatrixTSparse< Element >::AMultBt ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
inlineprotected

Definition at line 57 of file TMatrixTSparse.h.

◆ APlusB() [1/3]

template<class Element>
void TMatrixTSparse< Element >::APlusB ( const TMatrixT< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
inlineprotected

Definition at line 67 of file TMatrixTSparse.h.

◆ APlusB() [2/3]

template<class Element>
void TMatrixTSparse< Element >::APlusB ( const TMatrixTSparse< Element > & a,
const TMatrixT< Element > & b,
Int_t constr = 0 )
protected

General matrix addition.

Replace this matrix with C such that C = A + B. Note, matrix C is allocated for constr=1.

Definition at line 929 of file TMatrixTSparse.cxx.

◆ APlusB() [3/3]

template<class Element>
void TMatrixTSparse< Element >::APlusB ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b,
Int_t constr = 0 )
protected

General matrix addition.

Replace this matrix with C such that C = A + B. Note, matrix C is allocated for constr=1.

Definition at line 847 of file TMatrixTSparse.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ Apply() [1/2]

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Apply ( const TElementActionT< Element > & action)
virtualinherited

Apply action to each matrix element.

Reimplemented in TMatrixTSym< Element >, TMatrixTSym< Double_t >, and TMatrixTSym< Float_t >.

Definition at line 800 of file TMatrixTBase.cxx.

◆ Apply() [2/2]

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Apply ( const TElementPosActionT< Element > & action)
virtualinherited

Apply action to each element of the matrix.

To action the location of the current element is passed.

Reimplemented in TMatrixTSym< Element >, TMatrixTSym< Double_t >, and TMatrixTSym< Float_t >.

Definition at line 817 of file TMatrixTBase.cxx.

◆ Browse()

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ Class() [1/2]

TClass * TMatrixTSparse< double >::Class ( )

◆ Class() [2/2]

template<class Element>
TClass * TMatrixTSparse< Element >::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

template<class Element>
const char * TMatrixTSparse< Element >::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

template<class Element>
constexpr Version_t TMatrixTSparse< Element >::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 225 of file TMatrixTSparse.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ Clear()

template<class Element>
void TMatrixTSparse< Element >::Clear ( Option_t * = "")
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 140 of file TMatrixTSparse.h.

◆ Clone()

TObject * TObject::Clone ( const char * newname = "") const
virtualinherited

Make a clone of an object using the Streamer facility.

If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object.

If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.

Reimplemented in RooAbsArg, RooAbsBinning, RooAbsCollection, RooAbsStudy, RooCatType, RooCmdArg, RooDataHist, RooDataSet, RooFitResult, RooLinkedList, RooStats::HypoTestResult, RooStats::ModelConfig, RooStudyPackage, RooTemplateProxy< T >, RooTemplateProxy< const RooHistFunc >, RooTemplateProxy< RooAbsCategory >, RooTemplateProxy< RooAbsPdf >, RooTemplateProxy< RooAbsReal >, RooTemplateProxy< RooAbsRealLValue >, RooTemplateProxy< RooMultiCategory >, RooTemplateProxy< RooRealVar >, RooWorkspace, TASImage, TChainIndex, TClass, TCollection, TF1, TFunction, TFunctionTemplate, TH1, TImage, TMethod, TMethodCall, TMinuit, TMVA::MinuitWrapper, TNamed, TStreamerInfo, and TTreeIndex.

Definition at line 243 of file TObject.cxx.

◆ ColNorm()

template<class Element>
Element TMatrixTSparse< Element >::ColNorm ( ) const
overridevirtual

Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}.

The norm is induced by the 1 vector norm.

Reimplemented from TMatrixTBase< Element >.

Definition at line 2343 of file TMatrixTSparse.cxx.

◆ Compare()

Int_t TObject::Compare ( const TObject * obj) const
virtualinherited

Compare abstract method.

Must be overridden if a class wants to be able to compare itself with other objects. Must return -1 if this is smaller than obj, 0 if objects are equal and 1 if this is larger than obj.

Reimplemented in RooAbsArg, RooDouble, TCollection, TEnvRec, TFileInfo, TGeoBranchArray, TGeoOverlap, TGFSFrameElement, TGLBFrameElement, TNamed, TObjString, TParameter< AParamType >, TParameter< Long64_t >, TStructNode, TStructNodeProperty, and TUrl.

Definition at line 258 of file TObject.cxx.

◆ conservative_sparse_sparse_product_impl()

template<class Element>
void TMatrixTSparse< Element >::conservative_sparse_sparse_product_impl ( const TMatrixTSparse< Element > & lhs,
const TMatrixTSparse< Element > & rhs,
Int_t constr = 0 )
protected

General Sparse Matrix Multiplication (SpMM).

This code is an adaptation of Eigen SpMM implementation. This product is conservative, meaning that it preserves the symbolic non zeros. Given lhs, rhs, it computes this = rhs * lhs. Note, result matrix is only allocated when constr=1.

Definition at line 554 of file TMatrixTSparse.cxx.

◆ Copy()

◆ DeclFileName()

template<class Element>
const char * TMatrixTSparse< Element >::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 225 of file TMatrixTSparse.h.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ Determinant() [1/2]

template<class Element>
virtual Double_t TMatrixTBase< Element >::Determinant ( ) const
inlinevirtualinherited

◆ Determinant() [2/2]

template<class Element>
virtual void TMatrixTBase< Element >::Determinant ( Double_t & d1,
Double_t & d2 ) const
inlinevirtualinherited

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ DoubleLexSort()

template<class Element>
void TMatrixTBase< Element >::DoubleLexSort ( Int_t n,
Int_t * first,
Int_t * second,
Element * data )
staticprotectedinherited

Lexical sort on array data using indices first and second.

Definition at line 41 of file TMatrixTBase.cxx.

◆ Draw()

template<class Element>
void TMatrixTBase< Element >::Draw ( Option_t * option = "")
overridevirtualinherited

Draw this matrix The histogram is named "TMatrixT" by default and no title.

Reimplemented from TObject.

Definition at line 622 of file TMatrixTBase.cxx.

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ E2Norm()

template<class Element>
Element TMatrixTBase< Element >::E2Norm ( ) const
virtualinherited

Square of the Euclidean norm, SUM{ m(i,j)^2 }.

Definition at line 543 of file TMatrixTBase.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ ExtractRow()

template<class Element>
void TMatrixTSparse< Element >::ExtractRow ( Int_t row,
Int_t col,
Element * v,
Int_t n = -1 ) const
overridevirtual

Store in array v, n matrix elements of row rown starting at column coln.

Reimplemented from TMatrixTBase< Element >.

Definition at line 511 of file TMatrixTSparse.cxx.

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ GetColIndexArray() [1/2]

template<class Element>
const Int_t * TMatrixTSparse< Element >::GetColIndexArray ( ) const
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 241 of file TMatrixTSparse.h.

◆ GetColIndexArray() [2/2]

template<class Element>
Int_t * TMatrixTSparse< Element >::GetColIndexArray ( )
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 242 of file TMatrixTSparse.h.

◆ GetColLwb()

template<class Element>
Int_t TMatrixTBase< Element >::GetColLwb ( ) const
inlineinherited

Definition at line 124 of file TMatrixTBase.h.

◆ GetColUpb()

template<class Element>
Int_t TMatrixTBase< Element >::GetColUpb ( ) const
inlineinherited

Definition at line 125 of file TMatrixTBase.h.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetElements()

template<class Element>
Element * TMatrixTBase< Element >::GetElements ( )
privateinherited

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetMatrix2Array()

template<class Element>
void TMatrixTSparse< Element >::GetMatrix2Array ( Element * data,
Option_t * = "" ) const
overridevirtual

Copy matrix data to array . It is assumed that array is of size >= fNelems.

Reimplemented from TMatrixTBase< Element >.

Definition at line 1223 of file TMatrixTSparse.cxx.

◆ GetMatrixArray() [1/2]

template<class Element>
const Element * TMatrixTSparse< Element >::GetMatrixArray ( ) const
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 237 of file TMatrixTSparse.h.

◆ GetMatrixArray() [2/2]

template<class Element>
Element * TMatrixTSparse< Element >::GetMatrixArray ( )
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 238 of file TMatrixTSparse.h.

◆ GetName()

◆ GetNcols()

template<class Element>
Int_t TMatrixTBase< Element >::GetNcols ( ) const
inlineinherited

Definition at line 126 of file TMatrixTBase.h.

◆ GetNoElements()

template<class Element>
Int_t TMatrixTBase< Element >::GetNoElements ( ) const
inlineinherited

Definition at line 127 of file TMatrixTBase.h.

◆ GetNrows()

template<class Element>
Int_t TMatrixTBase< Element >::GetNrows ( ) const
inlineinherited

Definition at line 123 of file TMatrixTBase.h.

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ GetRowIndexArray() [1/2]

template<class Element>
const Int_t * TMatrixTSparse< Element >::GetRowIndexArray ( ) const
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 239 of file TMatrixTSparse.h.

◆ GetRowIndexArray() [2/2]

template<class Element>
Int_t * TMatrixTSparse< Element >::GetRowIndexArray ( )
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 240 of file TMatrixTSparse.h.

◆ GetRowLwb()

template<class Element>
Int_t TMatrixTBase< Element >::GetRowLwb ( ) const
inlineinherited

Definition at line 121 of file TMatrixTBase.h.

◆ GetRowUpb()

template<class Element>
Int_t TMatrixTBase< Element >::GetRowUpb ( ) const
inlineinherited

Definition at line 122 of file TMatrixTBase.h.

◆ GetSub() [1/2]

template<class Element>
TMatrixTSparse< Element > TMatrixTSparse< Element >::GetSub ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Option_t * option = "S" ) const
inline

Definition at line 266 of file TMatrixTSparse.h.

◆ GetSub() [2/2]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::GetSub ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
TMatrixTBase< Element > & target,
Option_t * option = "S" ) const
overridevirtual

Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option:

option == "S" : return [0..row_upb-row_lwb+1][0..col_upb-col_lwb+1] (default) else : return [row_lwb..row_upb][col_lwb..col_upb]

Implements TMatrixTBase< Element >.

Definition at line 1968 of file TMatrixTSparse.cxx.

◆ GetTitle()

const char * TObject::GetTitle ( ) const
virtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented in Axis2, TASImage, TAxis, TBaseClass, TClassMenuItem, TEveGeoNode, TEvePointSet, TGaxis, TGGroupFrame, TGLabel, TGLVEntry, TGTextButton, TGTextEntry, TGTextLBEntry, TKey, TMapFile, TNamed, TPad, TPair, TParallelCoordSelect, TParticle, TPaveLabel, TPrimary, TQCommand, TRootIconList, and TVirtualPad.

Definition at line 507 of file TObject.cxx.

◆ GetTol()

template<class Element>
Element TMatrixTBase< Element >::GetTol ( ) const
inlineinherited

Definition at line 128 of file TMatrixTBase.h.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TObject::Hash ( ) const
virtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
TObject()
TObject constructor.
Definition TObject.h:259
virtual ULong_t Hash() const
Return hash value for this object.
Definition TObject.cxx:539
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented in RooLinkedList, TASImagePlugin, TASPluginGS, TCollection, TEnvRec, TGObject, TGPicture, TIconBoxThumb, TImagePlugin, TNamed, TObjString, TPad, TPair, TParameter< AParamType >, TParameter< Long64_t >, TPave, and TStatistic.

Definition at line 539 of file TObject.cxx.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ IndexedLexSort()

template<class Element>
void TMatrixTBase< Element >::IndexedLexSort ( Int_t n,
Int_t * first,
Int_t swapFirst,
Int_t * second,
Int_t swapSecond,
Int_t * index )
staticprotectedinherited

Lexical sort on array data using indices first and second.

Definition at line 80 of file TMatrixTBase.cxx.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ InsertRow()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::InsertRow ( Int_t row,
Int_t col,
const Element * v,
Int_t n = -1 )
overridevirtual

Insert in row rown, n elements of array v at column coln.

Reimplemented from TMatrixTBase< Element >.

Definition at line 428 of file TMatrixTSparse.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ Invalidate()

template<class Element>
void TMatrixTBase< Element >::Invalidate ( )
inlineinherited

Definition at line 144 of file TMatrixTBase.h.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

template<class Element>
TClass * TMatrixTSparse< Element >::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TMatrixTBase< Element >.

Definition at line 225 of file TMatrixTSparse.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsOwner()

template<class Element>
Bool_t TMatrixTBase< Element >::IsOwner ( ) const
inlineinherited

Definition at line 147 of file TMatrixTBase.h.

◆ IsSortable()

virtual Bool_t TObject::IsSortable ( ) const
inlinevirtualinherited

◆ IsSymmetric()

template<class Element>
Bool_t TMatrixTSparse< Element >::IsSymmetric ( ) const
inlineoverridevirtual

Check whether matrix is symmetric.

Reimplemented from TMatrixTBase< Element >.

Definition at line 170 of file TMatrixTSparse.h.

◆ IsValid()

template<class Element>
Bool_t TMatrixTBase< Element >::IsValid ( ) const
inlineinherited

Definition at line 146 of file TMatrixTBase.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ ls()

◆ MakeValid()

template<class Element>
void TMatrixTBase< Element >::MakeValid ( )
inlineinherited

Definition at line 145 of file TMatrixTBase.h.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ Max()

template<class Element>
Element TMatrixTBase< Element >::Max ( ) const
virtualinherited

return maximum vector element value

Definition at line 608 of file TMatrixTBase.cxx.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).

Definition at line 1160 of file TObject.cxx.

◆ Min()

template<class Element>
Element TMatrixTBase< Element >::Min ( ) const
virtualinherited

return minimum matrix element value

Definition at line 595 of file TMatrixTBase.cxx.

◆ Mult()

template<class Element>
void TMatrixTSparse< Element >::Mult ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b )
inline

Definition at line 174 of file TMatrixTSparse.h.

◆ NaNValue()

template<class Element>
Element & TMatrixTBase< Element >::NaNValue ( )
staticinherited

Definition at line 1085 of file TMatrixTBase.cxx.

◆ NonZeros()

template<class Element>
Int_t TMatrixTSparse< Element >::NonZeros ( ) const
inlineoverridevirtual

Compute the number of elements != 0.0.

Reimplemented from TMatrixTBase< Element >.

Definition at line 181 of file TMatrixTSparse.h.

◆ Norm1()

template<class Element>
Element TMatrixTBase< Element >::Norm1 ( ) const
inlineinherited

Definition at line 177 of file TMatrixTBase.h.

◆ NormByDiag()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::NormByDiag ( const TVectorT< Element > & v,
Option_t * option )
inlineoverridevirtual

option:

  • "D" : b(i,j) = a(i,j)/sqrt(abs*(v(i)*v(j))) (default)
  • else : b(i,j) = a(i,j)*sqrt(abs*(v(i)*v(j))) (default)

Reimplemented from TMatrixTBase< Element >.

Definition at line 183 of file TMatrixTSparse.h.

◆ NormInf()

template<class Element>
Element TMatrixTBase< Element >::NormInf ( ) const
inlineinherited

Definition at line 176 of file TMatrixTBase.h.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ operator!=()

template<class Element>
Bool_t TMatrixTBase< Element >::operator!= ( Element val) const
inherited

Are all matrix elements not equal to val?

Definition at line 712 of file TMatrixTBase.cxx.

◆ operator()() [1/2]

template<class Element>
Element TMatrixTSparse< Element >::operator() ( Int_t rown,
Int_t coln ) const
overridevirtual

Implements TMatrixTBase< Element >.

Definition at line 2415 of file TMatrixTSparse.cxx.

◆ operator()() [2/2]

template<class Element>
Element & TMatrixTSparse< Element >::operator() ( Int_t rown,
Int_t coln )
overridevirtual

Implements TMatrixTBase< Element >.

Definition at line 2371 of file TMatrixTSparse.cxx.

◆ operator*=() [1/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator*= ( const TMatrixT< Element > & source)
inline

Definition at line 218 of file TMatrixTSparse.h.

◆ operator*=() [2/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator*= ( const TMatrixTSparse< Element > & source)
inline

Definition at line 214 of file TMatrixTSparse.h.

◆ operator*=() [3/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator*= ( Element val)

Multiply every element of the matrix with val.

Definition at line 2554 of file TMatrixTSparse.cxx.

◆ operator+=() [1/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator+= ( const TMatrixT< Element > & source)
inline

Definition at line 206 of file TMatrixTSparse.h.

◆ operator+=() [2/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator+= ( const TMatrixTSparse< Element > & source)
inline

Definition at line 202 of file TMatrixTSparse.h.

◆ operator+=() [3/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator+= ( Element val)

Add val to every element of the matrix.

Definition at line 2522 of file TMatrixTSparse.cxx.

◆ operator-=() [1/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator-= ( const TMatrixT< Element > & source)
inline

Definition at line 212 of file TMatrixTSparse.h.

◆ operator-=() [2/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator-= ( const TMatrixTSparse< Element > & source)
inline

Definition at line 208 of file TMatrixTSparse.h.

◆ operator-=() [3/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator-= ( Element val)

Subtract val from every element of the matrix.

Definition at line 2538 of file TMatrixTSparse.cxx.

◆ operator<()

template<class Element>
Bool_t TMatrixTBase< Element >::operator< ( Element val) const
inherited

Are all matrix elements < val?

Definition at line 732 of file TMatrixTBase.cxx.

◆ operator<=()

template<class Element>
Bool_t TMatrixTBase< Element >::operator<= ( Element val) const
inherited

Are all matrix elements <= val?

Definition at line 749 of file TMatrixTBase.cxx.

◆ operator=() [1/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= ( const TMatrixT< Element > & source)

Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !

Definition at line 2470 of file TMatrixTSparse.cxx.

◆ operator=() [2/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= ( const TMatrixTSparse< Element > & source)

Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !

Definition at line 2447 of file TMatrixTSparse.cxx.

◆ operator=() [3/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= ( Element val)

Assign val to every element of the matrix.

Check that the row/col indices are set !

Definition at line 2501 of file TMatrixTSparse.cxx.

◆ operator==()

template<class Element>
Bool_t TMatrixTBase< Element >::operator== ( Element val) const
inherited

Are all matrix elements equal to val?

Definition at line 692 of file TMatrixTBase.cxx.

◆ operator>()

template<class Element>
Bool_t TMatrixTBase< Element >::operator> ( Element val) const
inherited

Are all matrix elements > val?

Definition at line 766 of file TMatrixTBase.cxx.

◆ operator>=()

template<class Element>
Bool_t TMatrixTBase< Element >::operator>= ( Element val) const
inherited

Are all matrix elements >= val?

Definition at line 783 of file TMatrixTBase.cxx.

◆ operator[]() [1/2]

template<class Element>
TMatrixTSparseRow< Element > TMatrixTSparse< Element >::operator[] ( Int_t rown)
inline

Definition at line 192 of file TMatrixTSparse.h.

◆ operator[]() [2/2]

template<class Element>
const TMatrixTSparseRow_const< Element > TMatrixTSparse< Element >::operator[] ( Int_t rown) const
inline

Definition at line 191 of file TMatrixTSparse.h.

◆ Paint()

void TObject::Paint ( Option_t * option = "")
virtualinherited

This method must be overridden if a class wants to paint itself.

The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.

Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.

Definition at line 631 of file TObject.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ Print()

template<class Element>
void TMatrixTBase< Element >::Print ( Option_t * option = "") const
overridevirtualinherited

Print the matrix as a table of elements.

By default the format "%11.4g" is used to print one element. One can specify an alternative format with eg option ="f= %6.2f "

Reimplemented from TObject.

Definition at line 635 of file TMatrixTBase.cxx.

◆ Randomize()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::Randomize ( Element alpha,
Element beta,
Double_t & seed )
overridevirtual

randomize matrix element values

Reimplemented from TMatrixTBase< Element >.

Definition at line 2570 of file TMatrixTSparse.cxx.

◆ RandomizePD()

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::RandomizePD ( Element alpha,
Element beta,
Double_t & seed )
virtual

randomize matrix element values but keep matrix symmetric positive definite

Definition at line 2617 of file TMatrixTSparse.cxx.

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ RecursiveRemove()

◆ ReduceSparseMatrix()

template<class Element>
Int_t TMatrixTSparse< Element >::ReduceSparseMatrix ( Int_t nr,
Int_t * row,
Int_t * col,
Element * data )
protected

Sum matrix entries corresponding to the same matrix element (i,j).

The reduced extries remain dangling. It is assumed that the arrays row, col and data are sorted with DoubleLexSort. Note that the input arrays are not passed as const since they will be modified !

Definition at line 1330 of file TMatrixTSparse.cxx.

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ ResizeTo() [1/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::ResizeTo ( const TMatrixTSparse< Element > & m)
inline

Definition at line 137 of file TMatrixTSparse.h.

◆ ResizeTo() [2/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::ResizeTo ( Int_t nrows,
Int_t ncols,
Int_t nr_nonzeros = -1 )
overridevirtual

Set size of the matrix to nrows x ncols with nr_nonzeros non-zero entries if nr_nonzeros > 0 .

New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.

Implements TMatrixTBase< Element >.

Definition at line 1735 of file TMatrixTSparse.cxx.

◆ ResizeTo() [3/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::ResizeTo ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t nr_nonzeros = -1 )
overridevirtual

Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] with nr_nonzeros non-zero entries if nr_nonzeros > 0 .

New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.

Implements TMatrixTBase< Element >.

Definition at line 1829 of file TMatrixTSparse.cxx.

◆ RowNorm()

template<class Element>
Element TMatrixTSparse< Element >::RowNorm ( ) const
overridevirtual

Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}.

The norm is induced by the infinity vector norm.

Reimplemented from TMatrixTBase< Element >.

Definition at line 2314 of file TMatrixTSparse.cxx.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetColIndexArray()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetColIndexArray ( Int_t * data)
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 117 of file TMatrixTSparse.h.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetMatrixArray() [1/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetMatrixArray ( const Element * data,
Option_t * option = "" )
inlineoverridevirtual

Copy array data to matrix .

It is assumed that array is of size >= fNelems (=)))) fNrows*fNcols option indicates how the data is stored in the array: option =

  • 'F' : column major (Fortran) m[i][j] = array[i+j*fNrows]
  • else : row major (C) m[i][j] = array[i*fNcols+j] (default)

Reimplemented from TMatrixTBase< Element >.

Definition at line 127 of file TMatrixTSparse.h.

◆ SetMatrixArray() [2/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetMatrixArray ( Int_t nr,
Int_t * row,
Int_t * col,
Element * data )
virtual

Copy nr elements from row/col index and data array to matrix .

It is assumed that arrays are of size >= nr Note that the input arrays are not passed as const since they will be modified !

Definition at line 1237 of file TMatrixTSparse.cxx.

◆ SetMatrixArray() [3/3]

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetMatrixArray ( Int_t nr_nonzeros,
Int_t nrows,
Int_t ncols,
Int_t * irow,
Int_t * icol,
Element * data )
virtual

Definition at line 1356 of file TMatrixTSparse.cxx.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetRowIndexArray()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetRowIndexArray ( Int_t * data)
inlineoverridevirtual

Implements TMatrixTBase< Element >.

Definition at line 116 of file TMatrixTSparse.h.

◆ SetSparseIndex() [1/2]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndex ( const TMatrixTBase< Element > & another)

Use non-zero data of matrix source to set the sparse structure.

Definition at line 1513 of file TMatrixTSparse.cxx.

◆ SetSparseIndex() [2/2]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndex ( Int_t nelem_new)

Increase/decrease the number of non-zero elements to nelems_new.

Definition at line 1479 of file TMatrixTSparse.cxx.

◆ SetSparseIndexAB() [1/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndexAB ( const TMatrixT< Element > & a,
const TMatrixTSparse< Element > & b )

Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.

Definition at line 1650 of file TMatrixTSparse.cxx.

◆ SetSparseIndexAB() [2/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndexAB ( const TMatrixTSparse< Element > & a,
const TMatrixT< Element > & b )
inline

Definition at line 123 of file TMatrixTSparse.h.

◆ SetSparseIndexAB() [3/3]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndexAB ( const TMatrixTSparse< Element > & a,
const TMatrixTSparse< Element > & b )

Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.

Definition at line 1556 of file TMatrixTSparse.cxx.

◆ SetSub()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::SetSub ( Int_t row_lwb,
Int_t col_lwb,
const TMatrixTBase< Element > & source )
overridevirtual

Insert matrix source starting at [row_lwb][col_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source-1][col_lwb..col_lwb+ncols_source-1];.

Implements TMatrixTBase< Element >.

Definition at line 2068 of file TMatrixTSparse.cxx.

◆ SetTol()

template<class Element>
Element TMatrixTBase< Element >::SetTol ( Element tol)
inlineinherited

Definition at line 219 of file TMatrixTBase.h.

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ Shift()

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Shift ( Int_t row_shift,
Int_t col_shift )
virtualinherited

Shift the row index by adding row_shift and the column index by adding col_shift, respectively.

So [rowLwb..rowUpb][colLwb..colUpb] becomes [rowLwb+row_shift..rowUpb+row_shift][colLwb+col_shift..colUpb+col_shift]

Reimplemented in TMatrixTSym< Element >, TMatrixTSym< Double_t >, and TMatrixTSym< Float_t >.

Definition at line 338 of file TMatrixTBase.cxx.

◆ Sqr()

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Sqr ( )
virtualinherited

Square each element of the matrix.

Definition at line 380 of file TMatrixTBase.cxx.

◆ Sqrt()

template<class Element>
TMatrixTBase< Element > & TMatrixTBase< Element >::Sqrt ( )
virtualinherited

Take square root of all elements.

Definition at line 398 of file TMatrixTBase.cxx.

◆ Streamer()

template<class Element>
void TMatrixTSparse< Element >::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class TMatrixTSparse.

Reimplemented from TMatrixTBase< Element >.

Definition at line 2991 of file TMatrixTSparse.cxx.

◆ StreamerNVirtual()

template<class Element>
void TMatrixTSparse< Element >::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 225 of file TMatrixTSparse.h.

◆ Sum()

template<class Element>
Element TMatrixTBase< Element >::Sum ( ) const
virtualinherited

Compute sum of elements.

Definition at line 578 of file TMatrixTBase.cxx.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ T()

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::T ( )
inline

Definition at line 172 of file TMatrixTSparse.h.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ Transpose()

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Transpose ( const TMatrixTSparse< Element > & source)

Transpose a matrix. Set the matrix to ncols x nrows if nrows != ncols.

Definition at line 2204 of file TMatrixTSparse.cxx.

◆ UnitMatrix()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::UnitMatrix ( )
overridevirtual

Make a unit matrix (matrix need not be a square one).

Reimplemented from TMatrixTBase< Element >.

Definition at line 2272 of file TMatrixTSparse.cxx.

◆ Use() [1/6]

template<class Element>
const TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( const TMatrixTSparse< Element > & a) const
inline

Definition at line 259 of file TMatrixTSparse.h.

◆ Use() [2/6]

template<class Element>
const TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( Int_t nrows,
Int_t ncols,
Int_t nr_nonzeros,
const Int_t * pRowIndex,
const Int_t * pColIndex,
const Element * pData ) const
inline

Definition at line 249 of file TMatrixTSparse.h.

◆ Use() [3/6]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( Int_t nrows,
Int_t ncols,
Int_t nr_nonzeros,
Int_t * pRowIndex,
Int_t * pColIndex,
Element * pData )
inline

Definition at line 245 of file TMatrixTSparse.h.

◆ Use() [4/6]

template<class Element>
const TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t nr_nonzeros,
const Int_t * pRowIndex,
const Int_t * pColIndex,
const Element * pData ) const
inline

Definition at line 151 of file TMatrixTSparse.h.

◆ Use() [5/6]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( Int_t row_lwb,
Int_t row_upb,
Int_t col_lwb,
Int_t col_upb,
Int_t nr_nonzeros,
Int_t * pRowIndex,
Int_t * pColIndex,
Element * pData )

Definition at line 1928 of file TMatrixTSparse.cxx.

◆ Use() [6/6]

template<class Element>
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use ( TMatrixTSparse< Element > & a)
inline

Definition at line 253 of file TMatrixTSparse.h.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ Write() [1/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
virtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 989 of file TObject.cxx.

◆ Write() [2/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
virtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 964 of file TObject.cxx.

◆ Zero()

template<class Element>
TMatrixTBase< Element > & TMatrixTSparse< Element >::Zero ( )
overridevirtual

Set matrix elements to zero.

Reimplemented from TMatrixTBase< Element >.

Definition at line 2256 of file TMatrixTSparse.cxx.

Member Data Documentation

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fColIndex

template<class Element>
Int_t* TMatrixTSparse< Element >::fColIndex
protected

Definition at line 41 of file TMatrixTSparse.h.

◆ fColLwb

template<class Element>
Int_t TMatrixTBase< Element >::fColLwb
protectedinherited

Definition at line 93 of file TMatrixTBase.h.

◆ fElements

template<class Element>
Element* TMatrixTSparse< Element >::fElements
protected

Definition at line 42 of file TMatrixTSparse.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fIsOwner

template<class Element>
Bool_t TMatrixTBase< Element >::fIsOwner
protectedinherited

!default kTRUE, when Use array kFALSE

Definition at line 100 of file TMatrixTBase.h.

◆ fNcols

template<class Element>
Int_t TMatrixTBase< Element >::fNcols
protectedinherited

Definition at line 91 of file TMatrixTBase.h.

◆ fNelems

template<class Element>
Int_t TMatrixTBase< Element >::fNelems
protectedinherited

Definition at line 94 of file TMatrixTBase.h.

◆ fNrowIndex

template<class Element>
Int_t TMatrixTBase< Element >::fNrowIndex
protectedinherited

Definition at line 95 of file TMatrixTBase.h.

◆ fNrows

template<class Element>
Int_t TMatrixTBase< Element >::fNrows
protectedinherited

Definition at line 90 of file TMatrixTBase.h.

◆ fRowIndex

template<class Element>
Int_t* TMatrixTSparse< Element >::fRowIndex
protected

Definition at line 40 of file TMatrixTSparse.h.

◆ fRowLwb

template<class Element>
Int_t TMatrixTBase< Element >::fRowLwb
protectedinherited

Definition at line 92 of file TMatrixTBase.h.

◆ fTol

template<class Element>
Element TMatrixTBase< Element >::fTol
protectedinherited

Definition at line 97 of file TMatrixTBase.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.


The documentation for this class was generated from the following files: