STIR 6.4.0
ParallelprojHelper.h
Go to the documentation of this file.
1//
2//
12/*
13 Copyright (C) 2021 University College London
14 This file is part of STIR.
15
16 SPDX-License-Identifier: Apache-2.0
17
18 See STIR/LICENSE.txt for details
19*/
20#ifndef __stir_recon_buildblock_ParallelprojHelper_h__
21#define __stir_recon_buildblock_ParallelprojHelper_h__
22
23#include "stir/common.h"
24#include "cuvec.cuh"
25#include <vector>
26#include <array>
27
28START_NAMESPACE_STIR
29
30template <int num_dimensions, class elemT>
31class DiscretisedDensity;
32class ProjDataInfo;
33
34namespace detail
35{
41class ParallelprojHelper
42{
43public:
44 ~ParallelprojHelper();
45 ParallelprojHelper(const ProjDataInfo& p_info, const DiscretisedDensity<3, float>& density);
46
47 // parallelproj arrays
48 std::array<float, 3> voxsize;
49 std::array<int, 3> imgdim;
50 std::array<float, 3> origin;
51 CuVec<float> xstart;
52 CuVec<float> xend;
53
54 long long num_image_voxel;
55 long long num_lors;
56
57 float sigma_tof;
58 float tofcenter_offset;
59 float tofbin_width;
60 short num_tof_bins;
61};
62
63} // namespace detail
64
65END_NAMESPACE_STIR
66
67#endif // __stir_recon_buildblock_ParallelprojHelper_h__
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
An (abstract base) class that contains information on the projection data.
Definition ProjDataInfo.h:70
basic configuration include file