Splitting of TMatrixDSym

Hello,

I didn’t find in the documentation about splitting of the TMatrixD
(root.cern.ch/root/roottalk/roottalk02/1325.html )
Is it still correct that a TMatrixDSym object can’t be split in TTree?

If no, than one another question:
If I have different branches where TMatrixDSym objects was stored as splitted
and not in same tree,
than in this case it can be that not splitted branch will be
readed differently to a case when the TTree have only not splitted
branches?

Sincerely yours,
Fedor Ignatov

Because it does not make much sense to split some classes (eg TMatrix)
we are declaring these classes non splitable. So the case you describe cannot happen unless you use a very old version where the non-splitable property was not automatically set by the system.

Rene

Hello Rene,

If some class are non-splittable, than should this class always to be
in one branch? I am using the root version 5.15/02, and for example below
it looks like TMatrixDSym was splitted(another thing that it was
segmentation fault on TTree::Show() ). Maybe I have
incorrect installation of the ROOT? In which place can I check the non-splittable property?

Thanks in advance,
Fedor Ignatov

[code][ignatov@megonln01 meganalyzer]$ root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.15/02 13 February 2007 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

FreeType Engine v2.1.9 used to render TrueType fonts.
Compiled on 8 March 2007 for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.16.18, February 9, 2007
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TTree tr(“tr”,“title”)
root [1] TMatrixDSym dd=new TMatrixDSym(5)
root [2] tr.Branch(“dd”,“TMatrixDSym”,&dd)
(class TBranch
)0x93c5e10
root [3] tr.Fill()
(Int_t)241
root [4] tr.Print()


*Tree :tr : title *
*Entries : 1 : Total = 9577 bytes File Size = 0 *

  •    :          : Tree compression factor =   1.00                       *
    

*Branch :dd *
*Entries : 1 : BranchElement (see below) *

*Br 0 :fUniqueID : *
*Entries : 1 : Total Size= 654 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 1 :fBits : *
*Entries : 1 : Total Size= 638 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 2 :fNrows : *
*Entries : 1 : Total Size= 636 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 3 :fNcols : *
*Entries : 1 : Total Size= 636 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 4 :fRowLwb : *
*Entries : 1 : Total Size= 642 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 5 :fColLwb : *
*Entries : 1 : Total Size= 642 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 6 :fNelems : *
*Entries : 1 : Total Size= 642 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 7 :fNrowIndex : *
*Entries : 1 : Total Size= 660 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 8 :fTol : *
*Entries : 1 : Total Size= 628 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 9 :fElements : fElements[fNelems] *
*Entries : 1 : Total Size= 951 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

root [5] tr->Scan()


  • Row * fUniqueID * fBits * fNrows * fNcols * fRowLwb * fColLwb * fNelems *

  •    0 *         0 *  50331648 *         5 *         5 *         0 *         0 *        25 *
    

(Long64_t)1
root [6] tr->Show(0)
*** glibc detected *** free(): invalid pointer: 0x093359c8 ***[/code]