Open a FITS file with columns containing variable-length arrays. 
ABOUT THE DATA: To illustrate such a case we use a Redistribution Matrix File (RMF) conform with the HEASARC OGIP specifications OGIP definition https://heasarc.gsfc.nasa.gov/docs/heasarc/ofwg/docs/spectra/ogip_92_007/ogip_92_007.html RMF defintion https://heasarc.gsfc.nasa.gov/docs/heasarc/caldb/docs/memos/cal_gen_92_002/cal_gen_92_002.html#tth_sEc3.1
Variable-length arrays are used to return the non-null row elements of a sparse matrix containing the probability of detecting a photon of a given energy at a given detector channel.
The test data file, rmf.fits, is taken from the test data of the sherpa X-ray analysis tools https://cxc.harvard.edu/sherpa/ the original file is available under the repository https://github.com/sherpa/sherpa-test-data
 
void FITS_tutorial8()
{
   
   
   
   
   
   int rownum = 214; 
 
   printf(
"reading in row %d, column %s \n", rownum+1, colname1.
Data());
 
   printf(
"(%f, %f) \n", arr1->
At(0), arr1->
At(1));
 
 
   printf(
"reading in row %d, column %s \n", rownum+1, colname2.
Data());
 
   printf(
"(%f, %f) \n", arr2->
At(0), arr2->
At(1));
 
 
   
   printf(
"reading in row %d, column %s \n", rownum+1, colname3.
Data());
 
   printf(
"(%e, %e, %e, %e, %e, ...) \n", arr3->
At(0), arr3->
At(1), arr3->
At(2), arr3->
At(3), arr3->
At(4));
 
 
}
Array of doubles (64 bits per element).
 
Double_t At(Int_t i) const
 
FITS file interface class.
 
TArrayD * GetTabVarLengthVectorCell(Int_t rownum, Int_t colnum)
Get the variable-length array contained in a cell given by (row>=0, column name)
 
const char * Data() const
 
   
reading in row 215, column F_CHAN 
(1.000000, 68.000000) 
reading in row 215, column N_CHAN 
(66.000000, 130.000000) 
reading in row 215, column MATRIX 
(5.842518e-06, 7.290097e-06, 8.188037e-06, 9.157882e-06, 1.018355e-05, ...) 
- Author
 - Cosimo Nigro 
 
Definition in file FITS_tutorial8.C.