[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [seismic](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic) / [data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#data) / [Trace](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#trace) / Trace

# Class: Trace

[data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#data).[Trace](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#trace).Trace

Abstract seismic trace is a collection of samples.
A trace is logically subdivided into zero or more trace headers and zero or more samples.
Data is organized as list of traces sorted by headers. The number of samples equals to the number of corresponding headers.

## Table of contents

Constructors
- [new Trace()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.data-3.trace.trace.md#new trace())


Methods
| [clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#clone) | [getHeader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#getheader) | [getNumberOfSamples](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#getnumberofsamples) |
|  --- | --- | --- |
| [getSamples](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#getsamples) | [getStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#getstatistics) | [getTraceId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#gettraceid) |
| [getTraceStatus](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#gettracestatus) | [resetStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace#resetstatistics) |


## Contents

Constructors
#### new Trace()

• `Protected` **new Trace**()

Methods
#### clone

▸ `Abstract` **clone**(): [`Trace`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace)

Returns clone of the trace

#### Returns

[`Trace`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace)

#### getHeader

▸ `Abstract` **getHeader**(`index`): `number`

Return trace header value by identifier

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | index of the header |


#### Returns

`number`

▸ `Abstract` **getHeader**(): `Object`

Returns a header and header data

#### Returns

`Object`

| Name | Type | Description |
|  --- | --- | --- |
| `data?` | `any` | trace header data |
| `header?` | `any` | trace header |


▸ `Abstract` **getHeader**(`index?`): `number` | { `data?`: `any` ; `header?`: `any`  }

#### Parameters

| Name  | Type  |
|  --- | --- |
| `Optional` `index` | `number` |


#### Returns

`number` | { `data?`: `any` ; `header?`: `any`  }

#### getNumberOfSamples

▸ `Abstract` **getNumberOfSamples**(): `number`

Returns a count of the samples in the trace

#### Returns

`number`

#### getSamples

▸ `Abstract` **getSamples**(`buffer?`): `number`[] | [`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

Returns an array of the samples

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `buffer` | `number`[] | Array of samples to be used as buffer to copy samples |


#### Returns

`number`[] | [`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

#### getStatistics

▸ **getStatistics**(): [`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics)

Returns trace statistics

#### Returns

[`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics)

#### getTraceId

▸ `Abstract` **getTraceId**(): `number`

Returns the trace id in the reader

#### Returns

`number`

#### getTraceStatus

▸ **getTraceStatus**(): `string`

Returns the trace status

#### Returns

`string`

#### resetStatistics

▸ **resetStatistics**(): [`Trace`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace)

Reset trace statistics

#### Returns

[`Trace`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.trace.trace)