func (g *tgraphasymmerrs) UnmarshalROOT(r *rbytes.RBuffer) error {
	beg := r.Pos()

	vers, pos, bcnt := r.ReadVersion(g.Class())

	err := g.tgraph.UnmarshalROOT(r)
	if err != nil {
		return err
	}

	n := int(g.tgraph.npoints)
	g.xerrlo = make([]float64, n)
	g.xerrhi = make([]float64, n)
	g.yerrlo = make([]float64, n)
	g.yerrhi = make([]float64, n)
	switch {
	case vers < 2:
		// up to version 2, order is: xlo,ylo,xhi,yhi
		xerrlo := make([]float32, n)
		yerrlo := make([]float32, n)
		xerrhi := make([]float32, n)
		yerrhi := make([]float32, n)
		_ = r.ReadI8()
		r.ReadArrayF32(xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF32(yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF32(xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF32(yerrhi)
		for i := range xerrlo {
			g.xerrlo[i] = float64(xerrlo[i])
			g.xerrhi[i] = float64(xerrhi[i])
			g.yerrlo[i] = float64(yerrlo[i])
			g.yerrhi[i] = float64(yerrhi[i])
		}
	case vers == 2:
		// version 2, order is: xlo,ylo,xhi,yhi (but in float64)
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrhi)
	default:
		// version 3 and higher: xlo,xhi,ylo,yhi
		// ie: the order of the fields in the TGraphAsymmErrors class.
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrhi)
	}
	r.CheckByteCount(pos, bcnt, beg, g.Class())
	return r.Err()
}
// ROOTUnmarshaler is the interface implemented by an object that can
// unmarshal itself from a ROOT buffer
ROOTUnmarshaler is the interface implemented by an object that can
unmarshal itself from a ROOT buffer
// ROOTUnmarshaler is the interface implemented by an object that can // unmarshal itself from a ROOT buffer
func (g *tgraphasymmerrs) UnmarshalROOT(r *rbytes.RBuffer) error {
	beg := r.Pos()
	vers, pos, bcnt := r.ReadVersion(g.Class())
	err := g.tgraph.UnmarshalROOT(r)
	if err != nil {
		return err
	}
	n := int(g.tgraph.npoints)
	g.xerrlo = make([]float64, n)
	g.xerrhi = make([]float64, n)
	g.yerrlo = make([]float64, n)
	g.yerrhi = make([]float64, n)
	switch {
	case vers < 2:
		xerrlo := make([]float32, n)
		yerrlo := make([]float32, n)
		xerrhi := make([]float32, n)
		yerrhi := make([]float32, n)
		_ = r.ReadI8()
		r.ReadArrayF32(xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF32(yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF32(xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF32(yerrhi)
		for i := range xerrlo {
			g.xerrlo[i] = float64(xerrlo[i])
			g.xerrhi[i] = float64(xerrhi[i])
			g.yerrlo[i] = float64(yerrlo[i])
			g.yerrhi[i] = float64(yerrhi[i])
		}
	case vers == 2:
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrhi)
	default:
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.xerrhi)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrlo)
		_ = r.ReadI8()
		r.ReadArrayF64(g.yerrhi)
	}
	r.CheckByteCount(pos, bcnt, beg, g.Class())
	return r.Err()
}
func ( g * tgraphasymmerrs ) UnmarshalROOT ( r * rbytes . RBuffer ) error { beg := r . Pos ( ) vers , pos , bcnt := r . ReadVersion ( g . Class ( ) ) err := g . tgraph . UnmarshalROOT ( r ) if err != nil { return err } n := int ( g . tgraph . npoints ) g . xerrlo = make ( [ ] float64 , n ) g . xerrhi = make ( [ ] float64 , n ) g . yerrlo = make ( [ ] float64 , n ) g . yerrhi = make ( [ ] float64 , n ) switch { case vers < 2 : xerrlo := make ( [ ] float32 , n ) yerrlo := make ( [ ] float32 , n ) xerrhi := make ( [ ] float32 , n ) yerrhi := make ( [ ] float32 , n ) _ = r . ReadI8 ( ) r . ReadArrayF32 ( xerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF32 ( yerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF32 ( xerrhi ) _ = r . ReadI8 ( ) r . ReadArrayF32 ( yerrhi ) for i := range xerrlo { g . xerrlo [ i ] = float64 ( xerrlo [ i ] ) g . xerrhi [ i ] = float64 ( xerrhi [ i ] ) g . yerrlo [ i ] = float64 ( yerrlo [ i ] ) g . yerrhi [ i ] = float64 ( yerrhi [ i ] ) } case vers == 2 : _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . xerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . yerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . xerrhi ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . yerrhi ) default : _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . xerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . xerrhi ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . yerrlo ) _ = r . ReadI8 ( ) r . ReadArrayF64 ( g . yerrhi ) } r . CheckByteCount ( pos , bcnt , beg , g . Class ( ) ) return r . Err ( ) }
ROOTUnmarshaler is the interface implemented by an object that can
unmarshal itself from a ROOT buffer
ROOTUnmarshaler is the interface implemented by an object that can unmarshal itself from a ROOT buffer
// up to version 2, order is: xlo,ylo,xhi,yhi // version 2, order is: xlo,ylo,xhi,yhi (but in float64) // version 3 and higher: xlo,xhi,ylo,yhi // ie: the order of the fields in the TGraphAsymmErrors class.