# Class SeedDiagonal
Store the information about a seed segment.

Defined in | <seqan/seeds.h>
Signature | `template <typename TPosition, typename TSize> class SeedDiagonal;`

## Template Parameters

`TSize` | The type to use for the seed length.
`TPosition` | The type to use for positions.

## Member Function Overview

- `SeedDiagonal::SeedDiagonal();, SeedDiagonal::SeedDiagonal(beginPosH, beginPosV, length);`
  Constructor

## Interface Metafunction Overview

- `Position<TDiagonal>::Type;`
  The position type of a SeedDiagonal.
- `Size<TDiagonal>::Type;`
  The size type of a SeedDiagonal.

## Member Variable Overview

- `TPosition SeedDiagonal::beginPositionH`
  The position in the database sequence (horizontal).
- `TPosition SeedDiagonal::beginPositionV`
  The position in the query sequence (vertical).
- `TSize SeedDiagonal::length`
  The length of the diagonal.

## Member Functions Detail

### `SeedDiagonal::SeedDiagonal(); SeedDiagonal::SeedDiagonal(beginPosH, beginPosV, length);`

Constructor

#### Parameters

`beginPosH` | The begin position in the horizontal orientation.
`beginPosV` | The begin position in the vertical orientation.
`length` | The length of the seed diagonal.

#### Data Races

Thread safety unknown!

## Interface Metafunctions Detail

### `Position<TDiagonal>::Type;`

The position type of a SeedDiagonal.

#### Template Parameters

`TDiagonal` | A SeedDiagonal.

#### Returns

`Type` | The position type of `TDiagonal`.

### `Size<TDiagonal>::Type;`

The size type of a SeedDiagonal.

#### Template Parameters

`TDiagonal` | A SeedDiagonal.

#### Returns

`Type` | The size type of `TDiagonal`.

## Member Variables Detail

### `TPosition SeedDiagonal::beginPositionH`

The position in the database sequence (horizontal).

### `TPosition SeedDiagonal::beginPositionV`

The position in the query sequence (vertical).

### `TSize SeedDiagonal::length`

The length of the diagonal.

#### Dox Sources

    /*!
     * @class SeedDiagonal
     *
     * @headerfile <seqan/seeds.h>
     *
     * @brief Store the information about a seed segment.
     *
     * @signature template <typename TPosition, typename TSize> class SeedDiagonal;
     *
     * @tparam TSize The type to use for the seed length.
     * @tparam TPosition The type to use for positions.
     *
     * @mfn SeedDiagonal#Position
     *
     * @brief The position type of a @link SeedDiagonal @endlink.
     *
     * @signature Position<TDiagonal>::Type;
     *
     * @tparam TDiagonal A @link SeedDiagonal @endlink.
     *
     * @return Type The position type of <tt>TDiagonal</tt>.
     *
     * @mfn SeedDiagonal#Size
     *
     * @brief The size type of a @link SeedDiagonal @endlink.
     *
     * @signature Size<TDiagonal>::Type;
     *
     * @tparam TDiagonal A @link SeedDiagonal @endlink.
     *
     * @return Type The size type of <tt>TDiagonal</tt>.
     *
     * @fn SeedDiagonal::SeedDiagonal
     *
     * @brief Constructor
     *
     * @signature SeedDiagonal::SeedDiagonal();
     * @signature SeedDiagonal::SeedDiagonal(beginPosH, beginPosV, length);
     *
     * @param[in] beginPosH The begin position in the horizontal orientation.
     * @param[in] beginPosV The begin position in the vertical orientation.
     * @param[in] length The length of the seed diagonal.
     *
     * @var TPosition SeedDiagonal::beginPositionH;
     *
     * @brief The position in the database sequence (horizontal).
     *
     * @var TPosition SeedDiagonal::beginPositionV;
     *
     * @brief The position in the query sequence (vertical).
     *
     * @var TSize SeedDiagonal::length;
     *
     * @brief The length of the diagonal.
     */