29 TLeafF::TLeafF(): TLeaf()
 
   41 TLeafF::TLeafF(TBranch *parent, 
const char *name, 
const char *type)
 
   42    :TLeaf(parent, name,type)
 
   56    if (ResetAddress(0,kTRUE)) 
delete [] fValue;
 
   62 void TLeafF::Export(TClonesArray *list, Int_t n)
 
   64    Float_t *value = fValue;
 
   65    for (Int_t i=0;i<n;i++) {
 
   66       char *first = (
char*)list->UncheckedAt(i);
 
   67       Float_t *ff = (Float_t*)&first[fOffset];
 
   68       for (Int_t j=0;j<fLen;j++) {
 
   78 void TLeafF::FillBasket(TBuffer &b)
 
   81    if (fPointer) fValue = *fPointer;
 
   82    b.WriteFastArray(fValue,len);
 
   88 void TLeafF::Import(TClonesArray *list, Int_t n)
 
   90    const Float_t kFloatUndefined = -9999.;
 
   93    for (Int_t i=0;i<n;i++) {
 
   94       clone = (
char*)list->UncheckedAt(i);
 
   95       if (clone) memcpy(&fValue[j],clone + fOffset,  4*fLen);
 
   96       else       memcpy(&fValue[j],&kFloatUndefined, 4*fLen);
 
  104 void TLeafF::PrintValue(Int_t l)
 const 
  106    Float_t *value = (Float_t *)GetValuePointer();
 
  107    printf(
"%g",value[l]);
 
  113 void TLeafF::ReadBasket(TBuffer &b)
 
  115    if (!fLeafCount && fNdata == 1) {
 
  116       b.ReadFloat(fValue[0]);
 
  119          Long64_t entry = fBranch->GetReadEntry();
 
  120          if (fLeafCount->GetBranch()->GetReadEntry() != entry) {
 
  121             fLeafCount->GetBranch()->GetEntry(entry);
 
  123          Int_t len = Int_t(fLeafCount->GetValue());
 
  124          if (len > fLeafCount->GetMaximum()) {
 
  125             printf(
"ERROR leaf:%s, len=%d and max=%d\n",GetName(),len,fLeafCount->GetMaximum());
 
  126             len = fLeafCount->GetMaximum();
 
  129          b.ReadFastArray(fValue,len*fLen);
 
  131          b.ReadFastArray(fValue,fLen);
 
  137 bool TLeafF::ReadBasketFast(TBuffer &input_buf, Long64_t N) {
 
  138   if (R__unlikely(fLeafCount)) {
return false;}
 
  139   return input_buf.ByteSwapBuffer(fLen*N, kFloat_t);
 
  146 void TLeafF::ReadBasketExport(TBuffer &b, TClonesArray *list, Int_t n)
 
  151       b.ReadFastArray(fValue,n*fLen);
 
  154    Float_t *value = fValue;
 
  155    for (Int_t i=0;i<n;i++) {
 
  156       char *first = (
char*)list->UncheckedAt(i);
 
  157       Float_t *ff = (Float_t*)&first[fOffset];
 
  158       for (Int_t j=0;j<fLen;j++) {
 
  168 void TLeafF::ReadValue(std::istream &s, Char_t )
 
  170    Float_t *value = (Float_t*)GetValuePointer();
 
  171    for (Int_t i=0;i<fLen;i++) s >> value[i];
 
  177 void TLeafF::SetAddress(
void *add)
 
  179    if (ResetAddress(add) && (add!= fValue)) {
 
  184       if (TestBit(kIndirectAddress)) {
 
  185          fPointer = (Float_t**) add;
 
  186          Int_t ncountmax = fLen;
 
  187          if (fLeafCount) ncountmax = fLen*(fLeafCount->GetMaximum() + 1);
 
  188          if ((fLeafCount && ncountmax > Int_t(fLeafCount->GetValue())) ||
 
  189              ncountmax > fNdata || *fPointer == 0) {
 
  190             if (*fPointer) 
delete [] *fPointer;
 
  191             if (ncountmax > fNdata) fNdata = ncountmax;
 
  192             *fPointer = 
new Float_t[fNdata];
 
  196          fValue = (Float_t*)add;
 
  199       fValue = 
new Float_t[fNdata];