# uproot.models.TList.Model_TList

Defined in [uproot.models.TList](https://github.com/scikit-hep/uproot5/blob/db953cf9827349b3d24eb6742404158c1dfd5481/src/uproot/models/TList.py) on [line 17](https://github.com/scikit-hep/uproot5/blob/db953cf9827349b3d24eb6742404158c1dfd5481/src/uproot/models/TList.py#L17).

| **Inheritance order:**                                                                                                                                                                                                                                                       |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1. [uproot.Model](uproot.model.Model.html.md)<br/>2. `collections.abc.Sequence`<br/>3. `collections.abc.Reversible`<br/>4. `collections.abc.Collection`<br/>5. `collections.abc.Sized`<br/>6. `collections.abc.Iterable`<br/>7. `collections.abc.Container` |

### *class* uproot.models.TList.Model_TList

A versionless [uproot.Model](uproot.model.Model.html.md) for `TList`.

<a id="uproot-models-tlist-model-tlist-byte-ranges"></a>

## byte_ranges

#### Model_TList.byte_ranges

<a id="uproot-models-tlist-model-tlist-classname"></a>

## classname

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.classname

The C++ (decoded) classname of the modeled class.

See uproot.model.classname_decode,
[uproot.classname_encode](uproot.model.classname_encode.html.md), and
[uproot.model.classname_version](uproot.model.classname_version.html.md).

<a id="uproot-models-tlist-model-tlist-encoded-classname"></a>

## encoded_classname

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.encoded_classname

The Python (encoded) classname of the modeled class. May or may not
include version.

See uproot.model.classname_decode,
[uproot.classname_encode](uproot.model.classname_encode.html.md), and
[uproot.model.classname_version](uproot.model.classname_version.html.md).

<a id="uproot-models-tlist-model-tlist-class-version"></a>

## class_version

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.class_version

The version number of the modeled class (int) if any; None otherwise.

See uproot.model.classname_decode,
[uproot.classname_encode](uproot.model.classname_encode.html.md), and
[uproot.model.classname_version](uproot.model.classname_version.html.md).

<a id="uproot-models-tlist-model-tlist-cursor"></a>

## cursor

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.cursor

A cursor pointing to the start of this instance in the byte stream
(before [read_numbytes_version](uproot.model.Model.html.md#uproot-model-model-read-numbytes-version)).

<a id="uproot-models-tlist-model-tlist-file"></a>

## file

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.file

A [uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md), which may be open and readable,
or a [uproot.reading.DetachedFile](uproot.reading.DetachedFile.html.md), which only contains
information about the original file (not an open file handle).

<a id="uproot-models-tlist-model-tlist-close"></a>

## close

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.close()

Closes the file from which this object is derived, if such a file is
still attached (i.e. not [uproot.reading.DetachedFile](uproot.reading.DetachedFile.html.md)).

<a id="uproot-models-tlist-model-tlist-closed"></a>

## closed

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.closed

True if the associated file is known to be closed; False if it is known
to be open. If the associated file is detached
([uproot.reading.DetachedFile](uproot.reading.DetachedFile.html.md)), then the value is None.

<a id="uproot-models-tlist-model-tlist-parent"></a>

## parent

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.parent

The object that was deserialized before this one in recursive descent,
usually the containing object (or the container’s container).

<a id="uproot-models-tlist-model-tlist-concrete"></a>

## concrete

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.concrete

The Python instance corresponding to the concrete (instantiated) class
in C++, which is `self` if this is the concrete class or another
object if this is actually a holder of superclass members for that other
object (i.e. if this object is in the other’s
[bases](uproot.model.Model.html.md#uproot-model-model-bases)).

<a id="uproot-models-tlist-model-tlist-members"></a>

## members

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.members

A dict of C++ member data directly associated with this class (i.e. not
its superclasses). For all members, see
[all_members](uproot.model.Model.html.md#uproot-model-model-all-members).

<a id="uproot-models-tlist-model-tlist-all-members"></a>

## all_members

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.all_members

A dict of C++ member data for this class and its superclasses. For only
direct members, see [members](uproot.model.Model.html.md#uproot-model-model-members).

<a id="uproot-models-tlist-model-tlist-has-member"></a>

## has_member

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.has_member(name, all=True)

Returns True if calling [member](uproot.model.Model.html.md#uproot-model-model-member) with the same
arguments would return a value; False if the member is missing.

<a id="uproot-models-tlist-model-tlist-member"></a>

## member

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.member(name, all=True, none_if_missing=False)

* **Parameters:**
  * **name** (*str*) – The name of the member datum to retrieve.
  * **all** (*bool*) – If True, recursively search all superclasses in
    [bases](uproot.model.Model.html.md#uproot-model-model-bases). Otherwise, search the
    direct class only.
  * **none_if_missing** (*bool*) – If a member datum doesn’t exist in the
    search path, `none_if_missing=True` has this function return
    None, but `none_if_missing=False` would have it raise an
    exception. Note that None is a possible value for some member
    data.

Returns a C++ member datum by name.

<a id="uproot-models-tlist-model-tlist-bases"></a>

## bases

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.bases

List of [uproot.Model](uproot.model.Model.html.md) objects representing superclass data
for this object in the order given in C++ (opposite method resolution
order).

* If this object has no superclasses, `bases` is empty.
* If it has one superclass, which itself might have superclasses,
  `bases` has length 1.
* Only if this object *multiply inherits* from more than one superclass
  at the same level does `bases` have length greater than 1.

Since multiple inheritance is usually avoided, `bases` rarely has
length greater than 1. A linear chain of superclasses deriving from
super-superclasses is represented by `bases` containing an object
whose `bases` contains objects.

<a id="uproot-models-tlist-model-tlist-base"></a>

## base

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.base(\*cls)

Extracts instances from [bases](uproot.model.Model.html.md#uproot-model-model-bases) by Python class
type.

The `cls` arguments may be Python classes or C++ classname strings to match.

<a id="uproot-models-tlist-model-tlist-is-instance"></a>

## is_instance

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.is_instance(\*cls)

Returns True if this object matches a given type in the C++ class hierarchy.

The `cls` arguments may be Python classes or C++ classname strings to match.

<a id="uproot-models-tlist-model-tlist-num-bytes"></a>

## num_bytes

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.num_bytes

Number of bytes expected in the (uncompressed) serialization of this
instance.

This value may be None (unknown before reading) or an integer.

If the value is an integer and the object exists (no exceptions in
[read](uproot.model.Model.html.md#uproot-model-model-read)), then the expected number of bytes
agreed with the actual number of bytes, and this numer is reliable.

If this object is re-serialized, it won’t necessarily occupy the same
number of bytes.

<a id="uproot-models-tlist-model-tlist-instance-version"></a>

## instance_version

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.instance_version

Version of this instance as read from the byte stream.

If this model is versioned ([uproot.model.VersionedModel](uproot.model.VersionedModel.html.md)), the
`instance_version` ought to be equal to the
[class_version](uproot.model.Model.html.md#uproot-model-model-class-version).

If this model is versionless, the `instance_version` contains new
information about the actual version deserialized.

<a id="uproot-models-tlist-model-tlist-is-memberwise"></a>

## is_memberwise

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.is_memberwise

True if the object was serialized in ROOT’s memberwise format; False
otherwise.

<a id="uproot-models-tlist-model-tlist-awkward-form"></a>

## awkward_form

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### *classmethod* Model_TList.awkward_form(file, context)

* **Parameters:**
  * **cls** (subclass of [uproot.Model](uproot.model.Model.html.md)) – This class.
  * **file** ([uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md)) – File to use to generate
    [uproot.Model](uproot.model.Model.html.md) classes from its
    [streamers](uproot.reading.ReadOnlyFile.html.md#uproot-reading-readonlyfile-streamers) and `file_path`
    for error messages.
  * **context** (*dict*) – Context for the Form-generation; defaults are
    the remaining arguments below.
  * **index_format** (*str*) – Format to use for indexes of the
    `awkward.forms.Form`; may be `"i32"`, `"u32"`, or
    `"i64"`.
  * **header** (*bool*) – If True, include header fields of each C++ class.
  * **tobject_header** (*bool*) – If True, include header fields of each `TObject`
    base class.
  * **breadcrumbs** (*tuple* *of* *class objects*) – Used to check for recursion.
    Types that contain themselves cannot be Awkward Arrays because the
    depth of instances is unknown.

The `awkward.forms.Form` to use to put objects of type type in an
Awkward Array.

<a id="uproot-models-tlist-model-tlist-strided-interpretation"></a>

## strided_interpretation

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### *classmethod* Model_TList.strided_interpretation(file, header=False, tobject_header=True, breadcrumbs=(), original=None)

* **Parameters:**
  * **cls** (subclass of [uproot.Model](uproot.model.Model.html.md)) – This class.
  * **file** ([uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md)) – File to use to generate
    [uproot.Model](uproot.model.Model.html.md) classes from its
    [streamers](uproot.reading.ReadOnlyFile.html.md#uproot-reading-readonlyfile-streamers) and `file_path`
    for error messages.
  * **header** (*bool*) – If True, assume the outermost object has a header.
  * **tobject_header** (*bool*) – If True, assume that `TObjects` have headers.
  * **original** (None, [uproot.Model](uproot.model.Model.html.md), or [uproot.containers.Container](uproot.containers.Container.html.md)) – The
    original, non-strided model or container.
  * **breadcrumbs** (*tuple* *of* *class objects*) – Used to check for recursion.
    Types that contain themselves cannot be strided because the
    depth of instances is unknown.

Returns a list of (str, `numpy.dtype`) pairs to build a
[uproot.AsStridedObjects](uproot.interpretation.objects.AsStridedObjects.html.md) interpretation.

<a id="uproot-models-tlist-model-tlist-tojson"></a>

## tojson

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.tojson()

Serializes this object in its ROOT JSON form (as Python lists and dicts,
which can be passed to `json.dump` or `json.dumps`).

<a id="uproot-models-tlist-model-tlist-empty"></a>

## empty

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### *classmethod* Model_TList.empty()

Creates a model instance (of subclass `cls`) with no data; all
required attributes are None or empty.

<a id="uproot-models-tlist-model-tlist-read"></a>

## read

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### *classmethod* Model_TList.read(chunk, cursor, context, file, selffile, parent, concrete=None)

* **Parameters:**
  * **cls** (subclass of [uproot.Model](uproot.model.Model.html.md)) – Class to instantiate.
  * **chunk** ([uproot.source.chunk.Chunk](uproot.source.chunk.Chunk.html.md)) – Buffer of contiguous data
    from the file [uproot.source.chunk.Source](uproot.source.chunk.Source.html.md).
  * **cursor** ([uproot.Cursor](uproot.source.cursor.Cursor.html.md)) – Current position in
    that `chunk`.
  * **context** (*dict*) – Auxiliary data used in deserialization.
  * **file** ([uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md)) – An open file object,
    capable of generating new [uproot.Model](uproot.model.Model.html.md) classes
    from its [streamers](uproot.reading.ReadOnlyFile.html.md#uproot-reading-readonlyfile-streamers).
  * **selffile** ([uproot.reading.CommonFileMethods](uproot.reading.CommonFileMethods.html.md)) – A possibly
    [uproot.reading.DetachedFile](uproot.reading.DetachedFile.html.md) associated with this object.
  * **parent** (*None* *or* *calling object*) – The previous `read` in the
    recursive descent.
  * **concrete** (None or [uproot.Model](uproot.model.Model.html.md) instance) – If None,
    this model corresponds to the concrete (instantiated) class in
    C++. Otherwise, this model represents a superclass part of the
    object, and `concrete` points to the concrete instance.

Creates a model instance by reading data from a file.

<a id="uproot-models-tlist-model-tlist-read-numbytes-version"></a>

## read_numbytes_version

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.read_numbytes_version(chunk, cursor, context)

* **Parameters:**
  * **chunk** ([uproot.source.chunk.Chunk](uproot.source.chunk.Chunk.html.md)) – Buffer of contiguous data
    from the file [uproot.source.chunk.Source](uproot.source.chunk.Source.html.md).
  * **cursor** ([uproot.Cursor](uproot.source.cursor.Cursor.html.md)) – Current position in
    that `chunk`.
  * **context** (*dict*) – Auxiliary data used in deserialization.

Reads the number of bytes and instance version from the byte stream,
which is usually 6 bytes (4 + 2). Bits with special meanings are
appropriately masked out.

Some types don’t have a 6-byte header or handle it differently; in
those cases, this method should be overridden.

<a id="uproot-models-tlist-model-tlist-read-members"></a>

## read_members

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.read_members(chunk, cursor, context, file)

* **Parameters:**
  * **chunk** ([uproot.source.chunk.Chunk](uproot.source.chunk.Chunk.html.md)) – Buffer of contiguous data
    from the file [uproot.source.chunk.Source](uproot.source.chunk.Source.html.md).
  * **cursor** ([uproot.Cursor](uproot.source.cursor.Cursor.html.md)) – Current position in
    that `chunk`.
  * **context** (*dict*) – Auxiliary data used in deserialization.
  * **file** ([uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md)) – An open file object,
    capable of generating new [uproot.Model](uproot.model.Model.html.md) classes
    from its [streamers](uproot.reading.ReadOnlyFile.html.md#uproot-reading-readonlyfile-streamers).

Reads the member data for this class. The abstract class
[uproot.Model](uproot.model.Model.html.md) has an empty `read_members` method; this
*must* be overridden by subclasses.

<a id="uproot-models-tlist-model-tlist-check-numbytes"></a>

## check_numbytes

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.check_numbytes(chunk, cursor, context)

* **Parameters:**
  * **chunk** ([uproot.source.chunk.Chunk](uproot.source.chunk.Chunk.html.md)) – Buffer of contiguous data
    from the file [uproot.source.chunk.Source](uproot.source.chunk.Source.html.md).
  * **cursor** ([uproot.Cursor](uproot.source.cursor.Cursor.html.md)) – Current position in
    that `chunk`.
  * **context** (*dict*) – Auxiliary data used in deserialization.

Reads nothing; checks the expected number of bytes against the actual
movement of the `cursor` at the end of the object, possibly raising
a [uproot.DeserializationError](uproot.deserialization.DeserializationError.html.md) exception.

If [num_bytes](uproot.model.Model.html.md#uproot-model-model-num-bytes) is None, this method does
nothing.

It is *possible* that a subclass would override this method, but not
likely.

<a id="uproot-models-tlist-model-tlist-postprocess"></a>

## postprocess

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.postprocess(chunk, cursor, context, file)

* **Parameters:**
  * **chunk** ([uproot.source.chunk.Chunk](uproot.source.chunk.Chunk.html.md)) – Buffer of contiguous data
    from the file [uproot.source.chunk.Source](uproot.source.chunk.Source.html.md).
  * **cursor** ([uproot.Cursor](uproot.source.cursor.Cursor.html.md)) – Current position in
    that `chunk`.
  * **context** (*dict*) – Auxiliary data used in deserialization.
  * **file** ([uproot.ReadOnlyFile](uproot.reading.ReadOnlyFile.html.md)) – An open file object,
    capable of generating new [uproot.Model](uproot.model.Model.html.md) classes
    from its [streamers](uproot.reading.ReadOnlyFile.html.md#uproot-reading-readonlyfile-streamers).

Called for any additional processing after the object has been fully
read.

The return value from this method is the object that actually represents
the ROOT data, which might be a different instance or even a different
type from this class. The default in [uproot.Model](uproot.model.Model.html.md) is to
return `self`.

Note that for versioned models,
[postprocess](uproot.model.VersionedModel.html.md#uproot-model-versionedmodel-postprocess) is called first, then
[postprocess](uproot.model.DispatchByVersion.html.md#uproot-model-dispatchbyversion-postprocess) is called on its
output, allowing a [uproot.model.DispatchByVersion](uproot.model.DispatchByVersion.html.md) to refine all
data of its type, regardless of version.

<a id="uproot-models-tlist-model-tlist-hook-before-read"></a>

## hook_before_read

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.hook_before_read(\*\*kwargs)

Called in [read](uproot.model.Model.html.md#uproot-model-model-read), before any data have been
read.

<a id="uproot-models-tlist-model-tlist-hook-before-read-members"></a>

## hook_before_read_members

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.hook_before_read_members(\*\*kwargs)

Called in [read](uproot.model.Model.html.md#uproot-model-model-read), after
[read_numbytes_version](uproot.model.Model.html.md#uproot-model-model-read-numbytes-version) and before
[read_members](uproot.model.Model.html.md#uproot-model-model-read-members).

<a id="uproot-models-tlist-model-tlist-hook-after-read-members"></a>

## hook_after_read_members

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.hook_after_read_members(\*\*kwargs)

Called in [read](uproot.model.Model.html.md#uproot-model-model-read), after
[read_members](uproot.model.Model.html.md#uproot-model-model-read-members) and before
[check_numbytes](uproot.model.Model.html.md#uproot-model-model-check-numbytes).

<a id="uproot-models-tlist-model-tlist-hook-before-postprocess"></a>

## hook_before_postprocess

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.hook_before_postprocess(\*\*kwargs)

Called in [read](uproot.model.Model.html.md#uproot-model-model-read), after
[check_numbytes](uproot.model.Model.html.md#uproot-model-model-check-numbytes) and before
[postprocess](uproot.model.Model.html.md#uproot-model-model-postprocess).

<a id="uproot-models-tlist-model-tlist-to-writable"></a>

## to_writable

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.to_writable()

* **Parameters:**
  **obj** ([uproot.Model](uproot.model.Model.html.md) instance of the same C++ class) – The
  object to convert to this class version.

Returns a writable version of this object or raises a NotImplementedError
if no writable version exists.

<a id="uproot-models-tlist-model-tlist-serialize"></a>

## serialize

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.serialize(name=None)

Serialize a object (from num_bytes and version onward) for writing into
an output ROOT file.

If a `name` is given, override the object’s current name.

This method has not been implemented on all classes (raises
NotImplementedError).

<a id="uproot-models-tlist-model-tlist-to-pyroot"></a>

## to_pyroot

Inherited from [uproot.Model](uproot.model.Model.html.md).

#### Model_TList.to_pyroot(name=None)

* **Parameters:**
  **name** (*str* *or* *None*) – A name for the new PyROOT object.

Converts this [uproot.Model](uproot.model.Model.html.md) into a PyROOT object *if it is writable*.
A minority of Uproot models are writable, mostly just histograms. Writability
is necessary for conversion to PyROOT because it is serialized through a
ROOT TMessage.
