CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Private Attributes | List of all members
oProjectionLine Class Reference

This class is designed to manage and store system matrix elements associated to a vEvent. More...

#include <oProjectionLine.hh>

Collaboration diagram for oProjectionLine:
Collaboration graph

Public Member Functions

 oProjectionLine ()
 The constructor of oProjectionLine. More...
 
 ~oProjectionLine ()
 The destructor of oProjectionLine. More...
 
int CheckParameters ()
 A function used to check the parameters settings. More...
 
int Initialize ()
 A function used to initialize a bunch of stuff after parameters have been checked. More...
 
void ComputeLineLength ()
 Simply compute and update the m_length using the associated mp_position1 and mp_position2. More...
 
bool NotEmptyLine ()
 This function is used to know if the line contains any voxel contribution. More...
 
void Reset ()
 Reset length and all the voxel indices and weights tabs. More...
 
void ApplyOffset ()
 Apply the offset of oImageDimensionsAndQuantification to the mp_position1 and mp_position2. More...
 
void ApplyBedOffset ()
 Apply the bed offset of m_bedOffset to the mp_position1 and mp_position2. More...
 
INTNB GetVoxelIndex (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 
void AddVoxelInTOFBin (int a_direction, int a_TOFBin, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 
void AddVoxelAllTOFBins (int a_direction, INTNB a_voxelIndex, FLTNB a_voxelWeight, HPFLTNB *a_tofWeights, INTNB a_tofBinFirst, INTNB a_tofBinLast)
 
void AddVoxel (int a_direction, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 
FLTNB ForwardProject (FLTNB *ap_image=NULL)
 
FLTNB ForwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image=NULL)
 
void BackwardProject (FLTNB *ap_image, FLTNB a_value)
 
void BackwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image, FLTNB a_value)
 
FLTNB ComputeLineIntegral (int a_direction)
 
FLTNB GetVoxelWeights (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 
INTNB GetCurrentNbVoxels (int a_direction, int a_TOFBin)
 
int GetNbTOFBins ()
 This function is used to get the number of TOF bins in use. More...
 
FLTNB GetLength ()
 This function is used to get the length of the line. More...
 
int GetComputationStrategy ()
 This function is used to get the computation strategy. More...
 
FLTNBGetPosition1 ()
 This function is used to get the pointer to the mp_position1 (3-values tab). More...
 
FLTNBGetPosition2 ()
 This function is used to get the pointer to the mp_position2 (3-values tab). More...
 
FLTNBGetBufferPosition1 ()
 This function is used to get the pointer to the mp_bufferPosition1 (3-values tab). More...
 
FLTNBGetBufferPosition2 ()
 This function is used to get the pointer to the mp_bufferPosition2 (3-values tab). More...
 
FLTNBGetOrientation1 ()
 This function is used to get the pointer to the mp_orientation1 (3-values tab). More...
 
FLTNBGetOrientation2 ()
 This function is used to get the pointer to the mp_orientation2 (3-values tab). More...
 
FLTNBGetBufferOrientation1 ()
 This function is used to get the pointer to the mp_bufferOrientation1 (3-values tab). More...
 
FLTNBGetBufferOrientation2 ()
 This function is used to get the pointer to the mp_bufferOrientation2 (3-values tab). More...
 
FLTNBGetPOI1 ()
 This function is used to get the pointer to POI of point 1 (3-values tab). More...
 
FLTNBGetPOI2 ()
 This function is used to get the pointer to POI of point 2 (3-values tab). More...
 
FLTNB GetTOFMeasurementInPs ()
 This function is used to get the TOF measurement in ps. More...
 
int GetIndex1 ()
 This function is used to get the index associated to point 1. More...
 
int GetIndex2 ()
 This function is used to get the index associated to point 2. More...
 
int GetThreadNumber ()
 This function is used to get the thread number associated to this line. More...
 
FLTNB GetBedOffset ()
 This function is used to get the axial bed offset associated to this line. More...
 
void SetLength (FLTNB a_length)
 
void SetPOI1 (FLTNB *ap_POI1)
 
void SetPOI2 (FLTNB *ap_POI2)
 
void SetTOFMeasurementInPs (FLTNB a_TOFMeasurementInPs)
 
void SetIndex1 (int a_index1)
 
void SetIndex2 (int a_index2)
 
void SetNbTOFBins (int a_nbTOFBins)
 
void SetCurrentTOFBin (int a_TOFBin)
 
void SetMatchedProjectors (bool a_UseMatchedProjectors)
 
void SetPOIResolution (FLTNB *ap_POIResolution)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetComputationStrategy (int a_computationStrategy)
 
void SetForwardProjector (vProjector *ap_Projector)
 
void SetBackwardProjector (vProjector *ap_Projector)
 
void SetThreadNumber (int a_threadNumber)
 
void SetMultiplicativeCorrection (FLTNB a_multiplicativeCorrection)
 
void SetVerbose (int a_verbose)
 
void SetBedOffset (FLTNB a_bedOffset)
 
 oProjectionLine ()
 
 ~oProjectionLine ()
 
int CheckParameters ()
 
int Initialize ()
 
void ComputeLineLength ()
 
bool NotEmptyLine ()
 
void Reset ()
 
void ApplyOffset ()
 
void ApplyBedOffset ()
 
INTNB GetVoxelIndex (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 
void AddVoxelInTOFBin (int a_direction, int a_TOFBin, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 
void AddVoxelAllTOFBins (int a_direction, INTNB a_voxelIndex, FLTNB a_voxelWeight, HPFLTNB *a_tofWeights, INTNB a_tofBinFirst, INTNB a_tofBinLast)
 
void AddVoxel (int a_direction, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 
FLTNB ForwardProject (FLTNB *ap_image=NULL)
 
FLTNB ForwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image=NULL)
 
void BackwardProject (FLTNB *ap_image, FLTNB a_value)
 
void BackwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image, FLTNB a_value)
 
FLTNB ComputeLineIntegral (int a_direction)
 
FLTNB GetVoxelWeights (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 
INTNB GetCurrentNbVoxels (int a_direction, int a_TOFBin)
 
int GetNbTOFBins ()
 
FLTNB GetLength ()
 
int GetComputationStrategy ()
 
FLTNBGetPosition1 ()
 
FLTNBGetPosition2 ()
 
FLTNBGetBufferPosition1 ()
 
FLTNBGetBufferPosition2 ()
 
FLTNBGetOrientation1 ()
 
FLTNBGetOrientation2 ()
 
FLTNBGetBufferOrientation1 ()
 
FLTNBGetBufferOrientation2 ()
 
FLTNBGetPOI1 ()
 
FLTNBGetPOI2 ()
 
FLTNB GetTOFMeasurementInPs ()
 
FLTNB GetTOFResolutionInPs () const
 This function is used to get the TOF standard deviation in ps. More...
 
int GetIndex1 ()
 
int GetIndex2 ()
 
int GetThreadNumber ()
 
FLTNB GetBedOffset ()
 
void SetLength (FLTNB a_length)
 
void SetPOI1 (FLTNB *ap_POI1)
 
void SetPOI2 (FLTNB *ap_POI2)
 
void SetTOFMeasurementInPs (FLTNB a_TOFMeasurementInPs)
 
void SetTOFSigmaInPs (FLTNB a_TOFSigmaInPs)
 This function is used to set the TOF standard deviation associated with the line. More...
 
void SetIndex1 (int a_index1)
 
void SetIndex2 (int a_index2)
 
void SetNbTOFBins (int a_nbTOFBins)
 
void SetCurrentTOFBin (int a_TOFBin)
 
void SetMatchedProjectors (bool a_UseMatchedProjectors)
 
void SetPOIResolution (FLTNB *ap_POIResolution)
 
int GetNbCustomFLTData ()
 
int GetNbCustomINTData ()
 
void SetNbCustomFLTData (int a_value)
 
void SetNbCustomINTData (int a_value)
 
EVTFLTDATAGetCustomFLTData ()
 
EVTINTDATAGetCustomINTData ()
 
EVTFLTDATA GetCustomFLTData (int a_idx)
 
EVTINTDATA GetCustomINTData (int a_idx)
 
void SetCustomFLTData (EVTFLTDATA *ap_pointer)
 
void SetCustomINTData (EVTINTDATA *ap_pointer)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetComputationStrategy (int a_computationStrategy)
 
void SetForwardProjector (vProjector *ap_Projector)
 
void SetBackwardProjector (vProjector *ap_Projector)
 
void SetThreadNumber (int a_threadNumber)
 
void SetMultiplicativeCorrection (FLTNB a_multiplicativeCorrection)
 
void SetVerbose (int a_verbose)
 
void SetBedOffset (FLTNB a_bedOffset)
 
void SetEventIndex (int a_eventIndex)
 Set current index associated to the event. More...
 
int64_t GetEventIndex ()
 Get current index associated to the event. More...
 

Private Attributes

int m_verbose
 
bool m_checked
 
bool m_initialized
 
int m_threadNumber
 
FLTNB m_multiplicativeCorrection
 
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
int m_computationStrategy
 
FLTNB m_bedOffset
 
int m_nbTOFBins
 
FLTNB m_TOFMeasurementInPs
 
int m_currentTOFBin
 
FLTNBmp_POI1
 
FLTNBmp_POI2
 
FLTNBmp_POIResolution
 
FLTNB m_length
 
FLTNBmp_position1
 
FLTNBmp_position2
 
FLTNBmp_bufferPosition1
 
FLTNBmp_bufferPosition2
 
FLTNBmp_orientation1
 
FLTNBmp_orientation2
 
FLTNBmp_bufferOrientation1
 
FLTNBmp_bufferOrientation2
 
int m_index1
 
int m_index2
 
bool m_useMatchedProjectors
 
vProjectormp_ForwardProjector
 
vProjectormp_BackwardProjector
 
INTNB ** m2p_allocatedNbVoxels
 
INTNB ** m2p_currentNbVoxels
 
INTNB *** m3p_voxelIndices
 
FLTNB *** m3p_voxelWeights
 
FLTNB m_TOFResolutionInPs
 
EVTFLTDATAmp_customFLTData
 
EVTINTDATAmp_customINTData
 
int m_nbCustomFLTData
 
int m_nbCustomINTData
 
int64_t m_eventIndex
 

Detailed Description

This class is designed to manage and store system matrix elements associated to a vEvent.

This class is basically a container for system matrix elements associated to a vEvent. It can use different storage and computation strategies for this role. It contains the voxel contributions to the LOR associated to a vEvent. It manages TOF bins.

Definition at line 69 of file code/include/projector/oProjectionLine.hh.

Constructor & Destructor Documentation

◆ oProjectionLine() [1/2]

oProjectionLine::oProjectionLine ( )

The constructor of oProjectionLine.

This is the default and unique constructor. It does not take any parameter and its role is only to affect default values to each member of the class.

Definition at line 17 of file code/src/projector/oProjectionLine.cc.

◆ ~oProjectionLine() [1/2]

oProjectionLine::~oProjectionLine ( )

The destructor of oProjectionLine.

This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were built by this class.

Definition at line 59 of file code/src/projector/oProjectionLine.cc.

◆ oProjectionLine() [2/2]

oProjectionLine::oProjectionLine ( )

◆ ~oProjectionLine() [2/2]

oProjectionLine::~oProjectionLine ( )

Member Function Documentation

◆ AddVoxel() [1/2]

void oProjectionLine::AddVoxel ( int  a_direction,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

Definition at line 671 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddVoxel() [2/2]

void oProjectionLine::AddVoxel ( int  a_direction,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

◆ AddVoxelAllTOFBins() [1/2]

void oProjectionLine::AddVoxelAllTOFBins ( int  a_direction,
INTNB  a_voxelIndex,
FLTNB  a_voxelWeight,
HPFLTNB a_tofWeights,
INTNB  a_tofBinFirst,
INTNB  a_tofBinLast 
)

Definition at line 606 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddVoxelAllTOFBins() [2/2]

void oProjectionLine::AddVoxelAllTOFBins ( int  a_direction,
INTNB  a_voxelIndex,
FLTNB  a_voxelWeight,
HPFLTNB a_tofWeights,
INTNB  a_tofBinFirst,
INTNB  a_tofBinLast 
)

◆ AddVoxelInTOFBin() [1/2]

void oProjectionLine::AddVoxelInTOFBin ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

Definition at line 550 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:

◆ AddVoxelInTOFBin() [2/2]

void oProjectionLine::AddVoxelInTOFBin ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

◆ ApplyBedOffset() [1/2]

void oProjectionLine::ApplyBedOffset ( )

Apply the bed offset of m_bedOffset to the mp_position1 and mp_position2.

Definition at line 492 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyBedOffset() [2/2]

void oProjectionLine::ApplyBedOffset ( )

◆ ApplyOffset() [1/2]

void oProjectionLine::ApplyOffset ( )

Apply the offset of oImageDimensionsAndQuantification to the mp_position1 and mp_position2.

Definition at line 463 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyOffset() [2/2]

void oProjectionLine::ApplyOffset ( )

◆ BackwardProject() [1/2]

void oProjectionLine::BackwardProject ( FLTNB ap_image,
FLTNB  a_value 
)

◆ BackwardProject() [2/2]

void oProjectionLine::BackwardProject ( FLTNB ap_image,
FLTNB  a_value 
)

Definition at line 861 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BackwardProjectWithSPECTAttenuation() [1/2]

void oProjectionLine::BackwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image,
FLTNB  a_value 
)

◆ BackwardProjectWithSPECTAttenuation() [2/2]

void oProjectionLine::BackwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image,
FLTNB  a_value 
)

Definition at line 886 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckParameters() [1/2]

int oProjectionLine::CheckParameters ( )

◆ CheckParameters() [2/2]

int oProjectionLine::CheckParameters ( )

A function used to check the parameters settings.

This function does not take any parameter and is used to check that all mandatory members were correctly parameterized.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Definition at line 114 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:

◆ ComputeLineIntegral() [1/2]

FLTNB oProjectionLine::ComputeLineIntegral ( int  a_direction)

Definition at line 940 of file code/src/projector/oProjectionLine.cc.

◆ ComputeLineIntegral() [2/2]

FLTNB oProjectionLine::ComputeLineIntegral ( int  a_direction)

◆ ComputeLineLength() [1/2]

void oProjectionLine::ComputeLineLength ( )

Simply compute and update the m_length using the associated mp_position1 and mp_position2.

Definition at line 367 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeLineLength() [2/2]

void oProjectionLine::ComputeLineLength ( )

◆ ForwardProject() [1/2]

FLTNB oProjectionLine::ForwardProject ( FLTNB ap_image = NULL)

◆ ForwardProject() [2/2]

FLTNB oProjectionLine::ForwardProject ( FLTNB ap_image = NULL)

Definition at line 730 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ForwardProjectWithSPECTAttenuation() [1/2]

FLTNB oProjectionLine::ForwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image = NULL 
)

◆ ForwardProjectWithSPECTAttenuation() [2/2]

FLTNB oProjectionLine::ForwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image = NULL 
)

Definition at line 769 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetBedOffset() [1/2]

public inline FLTNB oProjectionLine::GetBedOffset ( )
inline

This function is used to get the axial bed offset associated to this line.

Returns
The associated bed offset

Definition at line 368 of file code/include/projector/oProjectionLine.hh.

◆ GetBedOffset() [2/2]

FLTNB oProjectionLine::GetBedOffset ( )
inline

Definition at line 375 of file include/projector/oProjectionLine.hh.

◆ GetBufferOrientation1() [1/2]

FLTNB* oProjectionLine::GetBufferOrientation1 ( )
inline

Definition at line 311 of file include/projector/oProjectionLine.hh.

◆ GetBufferOrientation1() [2/2]

public inline FLTNB * oProjectionLine::GetBufferOrientation1 ( )
inline

This function is used to get the pointer to the mp_bufferOrientation1 (3-values tab).

Returns
The buffer orientation of point 1.

Definition at line 311 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferOrientation2() [1/2]

FLTNB* oProjectionLine::GetBufferOrientation2 ( )
inline

Definition at line 318 of file include/projector/oProjectionLine.hh.

◆ GetBufferOrientation2() [2/2]

public inline FLTNB * oProjectionLine::GetBufferOrientation2 ( )
inline

This function is used to get the pointer to the mp_bufferOrientation2 (3-values tab).

Returns
The buffer orientation of point 2.

Definition at line 318 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferPosition1() [1/2]

FLTNB* oProjectionLine::GetBufferPosition1 ( )
inline

Definition at line 283 of file include/projector/oProjectionLine.hh.

◆ GetBufferPosition1() [2/2]

public inline FLTNB * oProjectionLine::GetBufferPosition1 ( )
inline

This function is used to get the pointer to the mp_bufferPosition1 (3-values tab).

Returns
The buffer position of point 1.

Definition at line 283 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferPosition2() [1/2]

FLTNB* oProjectionLine::GetBufferPosition2 ( )
inline

Definition at line 290 of file include/projector/oProjectionLine.hh.

◆ GetBufferPosition2() [2/2]

public inline FLTNB * oProjectionLine::GetBufferPosition2 ( )
inline

This function is used to get the pointer to the mp_bufferPosition2 (3-values tab).

Returns
The buffer position of point 2.

Definition at line 290 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetComputationStrategy() [1/2]

int oProjectionLine::GetComputationStrategy ( )
inline

Definition at line 262 of file include/projector/oProjectionLine.hh.

◆ GetComputationStrategy() [2/2]

public inline int oProjectionLine::GetComputationStrategy ( )
inline

This function is used to get the computation strategy.

Returns
The computation strategy.

Definition at line 262 of file code/include/projector/oProjectionLine.hh.

◆ GetCurrentNbVoxels() [1/2]

INTNB oProjectionLine::GetCurrentNbVoxels ( int  a_direction,
int  a_TOFBin 
)
inline

Definition at line 241 of file include/projector/oProjectionLine.hh.

◆ GetCurrentNbVoxels() [2/2]

INTNB oProjectionLine::GetCurrentNbVoxels ( int  a_direction,
int  a_TOFBin 
)
inline

Definition at line 241 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetCustomFLTData() [1/2]

EVTFLTDATA* oProjectionLine::GetCustomFLTData ( )
inline

Definition at line 492 of file include/projector/oProjectionLine.hh.

◆ GetCustomFLTData() [2/2]

EVTFLTDATA oProjectionLine::GetCustomFLTData ( int  a_idx)
inline

Definition at line 507 of file include/projector/oProjectionLine.hh.

◆ GetCustomINTData() [1/2]

EVTINTDATA* oProjectionLine::GetCustomINTData ( )
inline

Definition at line 499 of file include/projector/oProjectionLine.hh.

◆ GetCustomINTData() [2/2]

EVTINTDATA oProjectionLine::GetCustomINTData ( int  a_idx)
inline

Definition at line 515 of file include/projector/oProjectionLine.hh.

◆ GetEventIndex()

int64_t oProjectionLine::GetEventIndex ( )
inline

Get current index associated to the event.

Definition at line 602 of file include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetIndex1() [1/2]

public inline int oProjectionLine::GetIndex1 ( )
inline

This function is used to get the index associated to point 1.

Returns
Index of point 1.

Definition at line 347 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetIndex1() [2/2]

int oProjectionLine::GetIndex1 ( )
inline

Definition at line 354 of file include/projector/oProjectionLine.hh.

◆ GetIndex2() [1/2]

public inline int oProjectionLine::GetIndex2 ( )
inline

This function is used to get the index associated to point 2.

Returns
Index of point 2.

Definition at line 354 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetIndex2() [2/2]

int oProjectionLine::GetIndex2 ( )
inline

Definition at line 361 of file include/projector/oProjectionLine.hh.

◆ GetLength() [1/2]

FLTNB oProjectionLine::GetLength ( )
inline

Definition at line 255 of file include/projector/oProjectionLine.hh.

◆ GetLength() [2/2]

public inline FLTNB oProjectionLine::GetLength ( )
inline

This function is used to get the length of the line.

Returns
The length.

Definition at line 255 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetNbCustomFLTData()

int oProjectionLine::GetNbCustomFLTData ( )
inline

Definition at line 464 of file include/projector/oProjectionLine.hh.

◆ GetNbCustomINTData()

int oProjectionLine::GetNbCustomINTData ( )
inline

Definition at line 471 of file include/projector/oProjectionLine.hh.

◆ GetNbTOFBins() [1/2]

int oProjectionLine::GetNbTOFBins ( )
inline

Definition at line 248 of file include/projector/oProjectionLine.hh.

◆ GetNbTOFBins() [2/2]

public inline int oProjectionLine::GetNbTOFBins ( )
inline

This function is used to get the number of TOF bins in use.

Returns
The number of TOF bins.

Definition at line 248 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetOrientation1() [1/2]

FLTNB* oProjectionLine::GetOrientation1 ( )
inline

Definition at line 297 of file include/projector/oProjectionLine.hh.

◆ GetOrientation1() [2/2]

public inline FLTNB * oProjectionLine::GetOrientation1 ( )
inline

This function is used to get the pointer to the mp_orientation1 (3-values tab).

Returns
The orientation of point 1.

Definition at line 297 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetOrientation2() [1/2]

FLTNB* oProjectionLine::GetOrientation2 ( )
inline

Definition at line 304 of file include/projector/oProjectionLine.hh.

◆ GetOrientation2() [2/2]

public inline FLTNB * oProjectionLine::GetOrientation2 ( )
inline

This function is used to get the pointer to the mp_orientation2 (3-values tab).

Returns
The orientation of point 2.

Definition at line 304 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPOI1() [1/2]

FLTNB* oProjectionLine::GetPOI1 ( )
inline

Definition at line 325 of file include/projector/oProjectionLine.hh.

◆ GetPOI1() [2/2]

public inline FLTNB * oProjectionLine::GetPOI1 ( )
inline

This function is used to get the pointer to POI of point 1 (3-values tab).

Returns
POI of point 1.

Definition at line 325 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPOI2() [1/2]

FLTNB* oProjectionLine::GetPOI2 ( )
inline

Definition at line 332 of file include/projector/oProjectionLine.hh.

◆ GetPOI2() [2/2]

public inline FLTNB * oProjectionLine::GetPOI2 ( )
inline

This function is used to get the pointer to POI of point 2 (3-values tab).

Returns
POI of point 2 mp_POI2

Definition at line 332 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPosition1() [1/2]

FLTNB* oProjectionLine::GetPosition1 ( )
inline

Definition at line 269 of file include/projector/oProjectionLine.hh.

◆ GetPosition1() [2/2]

public inline FLTNB * oProjectionLine::GetPosition1 ( )
inline

This function is used to get the pointer to the mp_position1 (3-values tab).

Returns
The position of point 1.

Definition at line 269 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPosition2() [1/2]

FLTNB* oProjectionLine::GetPosition2 ( )
inline

Definition at line 276 of file include/projector/oProjectionLine.hh.

◆ GetPosition2() [2/2]

public inline FLTNB * oProjectionLine::GetPosition2 ( )
inline

This function is used to get the pointer to the mp_position2 (3-values tab).

Returns
The position of point 2.

Definition at line 276 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetThreadNumber() [1/2]

public inline int oProjectionLine::GetThreadNumber ( )
inline

This function is used to get the thread number associated to this line.

Returns
The associated thread number.

Definition at line 361 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetThreadNumber() [2/2]

int oProjectionLine::GetThreadNumber ( )
inline

Definition at line 368 of file include/projector/oProjectionLine.hh.

◆ GetTOFMeasurementInPs() [1/2]

public inline FLTNB oProjectionLine::GetTOFMeasurementInPs ( )
inline

This function is used to get the TOF measurement in ps.

Returns
TOF measurement.

Definition at line 339 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetTOFMeasurementInPs() [2/2]

FLTNB oProjectionLine::GetTOFMeasurementInPs ( )
inline

Definition at line 339 of file include/projector/oProjectionLine.hh.

◆ GetTOFResolutionInPs()

public inline FLTNB oProjectionLine::GetTOFResolutionInPs ( ) const
inline

This function is used to get the TOF standard deviation in ps.

Returns
TOF sigma.

Definition at line 346 of file include/projector/oProjectionLine.hh.

◆ GetVoxelIndex() [1/2]

INTNB oProjectionLine::GetVoxelIndex ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)

Definition at line 517 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetVoxelIndex() [2/2]

INTNB oProjectionLine::GetVoxelIndex ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)

◆ GetVoxelWeights() [1/2]

FLTNB oProjectionLine::GetVoxelWeights ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)
inline

Definition at line 232 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetVoxelWeights() [2/2]

FLTNB oProjectionLine::GetVoxelWeights ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)
inline

Definition at line 232 of file include/projector/oProjectionLine.hh.

◆ Initialize() [1/2]

int oProjectionLine::Initialize ( )

A function used to initialize a bunch of stuff after parameters have been checked.

It allocates all tables depending on the computation strategy.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Definition at line 152 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:

◆ Initialize() [2/2]

int oProjectionLine::Initialize ( )

◆ NotEmptyLine() [1/2]

bool oProjectionLine::NotEmptyLine ( )

This function is used to know if the line contains any voxel contribution.

Returns
True if any voxel contribution, false if empty.

Definition at line 391 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NotEmptyLine() [2/2]

bool oProjectionLine::NotEmptyLine ( )

◆ Reset() [1/2]

void oProjectionLine::Reset ( )

Reset length and all the voxel indices and weights tabs.

Definition at line 415 of file code/src/projector/oProjectionLine.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Reset() [2/2]

void oProjectionLine::Reset ( )

◆ SetBackwardProjector() [1/2]

void oProjectionLine::SetBackwardProjector ( vProjector ap_Projector)
inline

Definition at line 472 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetBackwardProjector() [2/2]

void oProjectionLine::SetBackwardProjector ( vProjector ap_Projector)
inline

Definition at line 561 of file include/projector/oProjectionLine.hh.

◆ SetBedOffset() [1/2]

void oProjectionLine::SetBedOffset ( FLTNB  a_bedOffset)
inline

Definition at line 500 of file code/include/projector/oProjectionLine.hh.

◆ SetBedOffset() [2/2]

void oProjectionLine::SetBedOffset ( FLTNB  a_bedOffset)
inline

Definition at line 589 of file include/projector/oProjectionLine.hh.

◆ SetComputationStrategy() [1/2]

void oProjectionLine::SetComputationStrategy ( int  a_computationStrategy)
inline

Definition at line 458 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetComputationStrategy() [2/2]

void oProjectionLine::SetComputationStrategy ( int  a_computationStrategy)
inline

Definition at line 547 of file include/projector/oProjectionLine.hh.

◆ SetCurrentTOFBin() [1/2]

void oProjectionLine::SetCurrentTOFBin ( int  a_TOFBin)
inline

Definition at line 430 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetCurrentTOFBin() [2/2]

void oProjectionLine::SetCurrentTOFBin ( int  a_TOFBin)
inline

Definition at line 444 of file include/projector/oProjectionLine.hh.

◆ SetCustomFLTData()

void oProjectionLine::SetCustomFLTData ( EVTFLTDATA ap_pointer)
inline

Definition at line 524 of file include/projector/oProjectionLine.hh.

◆ SetCustomINTData()

void oProjectionLine::SetCustomINTData ( EVTINTDATA ap_pointer)
inline

Definition at line 532 of file include/projector/oProjectionLine.hh.

◆ SetEventIndex()

void oProjectionLine::SetEventIndex ( int  a_eventIndex)
inline

Set current index associated to the event.

Parameters
inta_eventIndex

Definition at line 596 of file include/projector/oProjectionLine.hh.

◆ SetForwardProjector() [1/2]

void oProjectionLine::SetForwardProjector ( vProjector ap_Projector)
inline

Definition at line 465 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetForwardProjector() [2/2]

void oProjectionLine::SetForwardProjector ( vProjector ap_Projector)
inline

Definition at line 554 of file include/projector/oProjectionLine.hh.

◆ SetImageDimensionsAndQuantification() [1/2]

void oProjectionLine::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 451 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [2/2]

void oProjectionLine::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 540 of file include/projector/oProjectionLine.hh.

◆ SetIndex1() [1/2]

void oProjectionLine::SetIndex1 ( int  a_index1)
inline

Definition at line 409 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetIndex1() [2/2]

void oProjectionLine::SetIndex1 ( int  a_index1)
inline

Definition at line 423 of file include/projector/oProjectionLine.hh.

◆ SetIndex2() [1/2]

void oProjectionLine::SetIndex2 ( int  a_index2)
inline

Definition at line 416 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetIndex2() [2/2]

void oProjectionLine::SetIndex2 ( int  a_index2)
inline

Definition at line 430 of file include/projector/oProjectionLine.hh.

◆ SetLength() [1/2]

void oProjectionLine::SetLength ( FLTNB  a_length)
inline

Definition at line 380 of file code/include/projector/oProjectionLine.hh.

◆ SetLength() [2/2]

void oProjectionLine::SetLength ( FLTNB  a_length)
inline

Definition at line 387 of file include/projector/oProjectionLine.hh.

◆ SetMatchedProjectors() [1/2]

void oProjectionLine::SetMatchedProjectors ( bool  a_UseMatchedProjectors)
inline

Definition at line 437 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetMatchedProjectors() [2/2]

void oProjectionLine::SetMatchedProjectors ( bool  a_UseMatchedProjectors)
inline

Definition at line 451 of file include/projector/oProjectionLine.hh.

◆ SetMultiplicativeCorrection() [1/2]

void oProjectionLine::SetMultiplicativeCorrection ( FLTNB  a_multiplicativeCorrection)
inline

Definition at line 486 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetMultiplicativeCorrection() [2/2]

void oProjectionLine::SetMultiplicativeCorrection ( FLTNB  a_multiplicativeCorrection)
inline

Definition at line 575 of file include/projector/oProjectionLine.hh.

◆ SetNbCustomFLTData()

void oProjectionLine::SetNbCustomFLTData ( int  a_value)
inline

Definition at line 479 of file include/projector/oProjectionLine.hh.

◆ SetNbCustomINTData()

void oProjectionLine::SetNbCustomINTData ( int  a_value)
inline

Definition at line 486 of file include/projector/oProjectionLine.hh.

◆ SetNbTOFBins() [1/2]

void oProjectionLine::SetNbTOFBins ( int  a_nbTOFBins)
inline

Definition at line 423 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetNbTOFBins() [2/2]

void oProjectionLine::SetNbTOFBins ( int  a_nbTOFBins)
inline

Definition at line 437 of file include/projector/oProjectionLine.hh.

◆ SetPOI1() [1/2]

void oProjectionLine::SetPOI1 ( FLTNB ap_POI1)
inline

Definition at line 387 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOI1() [2/2]

void oProjectionLine::SetPOI1 ( FLTNB ap_POI1)
inline

Definition at line 394 of file include/projector/oProjectionLine.hh.

◆ SetPOI2() [1/2]

void oProjectionLine::SetPOI2 ( FLTNB ap_POI2)
inline

Definition at line 394 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOI2() [2/2]

void oProjectionLine::SetPOI2 ( FLTNB ap_POI2)
inline

Definition at line 401 of file include/projector/oProjectionLine.hh.

◆ SetPOIResolution() [1/2]

void oProjectionLine::SetPOIResolution ( FLTNB ap_POIResolution)
inline

Definition at line 444 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOIResolution() [2/2]

void oProjectionLine::SetPOIResolution ( FLTNB ap_POIResolution)
inline

Definition at line 458 of file include/projector/oProjectionLine.hh.

◆ SetThreadNumber() [1/2]

void oProjectionLine::SetThreadNumber ( int  a_threadNumber)
inline

Definition at line 479 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetThreadNumber() [2/2]

void oProjectionLine::SetThreadNumber ( int  a_threadNumber)
inline

Definition at line 568 of file include/projector/oProjectionLine.hh.

◆ SetTOFMeasurementInPs() [1/2]

void oProjectionLine::SetTOFMeasurementInPs ( FLTNB  a_TOFMeasurementInPs)
inline

Definition at line 401 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetTOFMeasurementInPs() [2/2]

void oProjectionLine::SetTOFMeasurementInPs ( FLTNB  a_TOFMeasurementInPs)
inline

Definition at line 408 of file include/projector/oProjectionLine.hh.

◆ SetTOFSigmaInPs()

public inline void oProjectionLine::SetTOFSigmaInPs ( FLTNB  a_TOFSigmaInPs)
inline

This function is used to set the TOF standard deviation associated with the line.

Parameters
FLTNBa_SetTOFSigmaInPs

Definition at line 415 of file include/projector/oProjectionLine.hh.

◆ SetVerbose() [1/2]

void oProjectionLine::SetVerbose ( int  a_verbose)
inline

Definition at line 493 of file code/include/projector/oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetVerbose() [2/2]

void oProjectionLine::SetVerbose ( int  a_verbose)
inline

Definition at line 582 of file include/projector/oProjectionLine.hh.

Member Data Documentation

◆ m2p_allocatedNbVoxels

INTNB ** oProjectionLine::m2p_allocatedNbVoxels
private

Number of allocated voxels for each direction and each TOF bin

Definition at line 568 of file code/include/projector/oProjectionLine.hh.

◆ m2p_currentNbVoxels

INTNB ** oProjectionLine::m2p_currentNbVoxels
private

Current number of voxels for each direction and each TOF bin

Definition at line 569 of file code/include/projector/oProjectionLine.hh.

◆ m3p_voxelIndices

INTNB *** oProjectionLine::m3p_voxelIndices
private

List of contributing voxel indices for each direction and each TOF bin

Definition at line 571 of file code/include/projector/oProjectionLine.hh.

◆ m3p_voxelWeights

FLTNB *** oProjectionLine::m3p_voxelWeights
private

List of contributing voxel weights for each direction and each TOF bin

Definition at line 573 of file code/include/projector/oProjectionLine.hh.

◆ m_bedOffset

FLTNB oProjectionLine::m_bedOffset
private

Bed axial offset when reconstructing multiple bed positions at once, in mm

Definition at line 529 of file code/include/projector/oProjectionLine.hh.

◆ m_checked

bool oProjectionLine::m_checked
private

Boolean that says if the parameters were checked or not

Definition at line 511 of file code/include/projector/oProjectionLine.hh.

◆ m_computationStrategy

int oProjectionLine::m_computationStrategy
private

Integer defining the computation/storage strategy of the contributing voxels

Definition at line 527 of file code/include/projector/oProjectionLine.hh.

◆ m_currentTOFBin

int oProjectionLine::m_currentTOFBin
private

The current TOF bin in use, can be used for simple to calls to forward or backward projections

Definition at line 533 of file code/include/projector/oProjectionLine.hh.

◆ m_eventIndex

int64_t oProjectionLine::m_eventIndex
private

Current index associated to the event

Definition at line 666 of file include/projector/oProjectionLine.hh.

◆ m_index1

int oProjectionLine::m_index1
private

The current index of point 1 (associated to the vScanner in use)

Definition at line 550 of file code/include/projector/oProjectionLine.hh.

◆ m_index2

int oProjectionLine::m_index2
private

The current index of point 2 (associated to the vScanner in use)

Definition at line 551 of file code/include/projector/oProjectionLine.hh.

◆ m_initialized

bool oProjectionLine::m_initialized
private

Boolean that says if the manager was initialized or not

Definition at line 513 of file code/include/projector/oProjectionLine.hh.

◆ m_length

FLTNB oProjectionLine::m_length
private

The current length of the line

Definition at line 539 of file code/include/projector/oProjectionLine.hh.

◆ m_multiplicativeCorrection

FLTNB oProjectionLine::m_multiplicativeCorrection
private

Multiplicative correction factor that will be applied during forward and backward projections

Definition at line 522 of file code/include/projector/oProjectionLine.hh.

◆ m_nbCustomFLTData

int oProjectionLine::m_nbCustomFLTData
private

Nb of customizable EVTFLTDATA variables

Definition at line 644 of file include/projector/oProjectionLine.hh.

◆ m_nbCustomINTData

int oProjectionLine::m_nbCustomINTData
private

Nb of customizable EVTINTDATA variables

Definition at line 645 of file include/projector/oProjectionLine.hh.

◆ m_nbTOFBins

int oProjectionLine::m_nbTOFBins
private

The number of TOF bins in use

Definition at line 531 of file code/include/projector/oProjectionLine.hh.

◆ m_threadNumber

int oProjectionLine::m_threadNumber
private

Thread number associated to this projection line

Definition at line 520 of file code/include/projector/oProjectionLine.hh.

◆ m_TOFMeasurementInPs

FLTNB oProjectionLine::m_TOFMeasurementInPs
private

The current TOF measurement of the event in ps

Definition at line 532 of file code/include/projector/oProjectionLine.hh.

◆ m_TOFResolutionInPs

FLTNB oProjectionLine::m_TOFResolutionInPs
private

The current TOF standard deviation of the event in ps

Definition at line 635 of file include/projector/oProjectionLine.hh.

◆ m_useMatchedProjectors

bool oProjectionLine::m_useMatchedProjectors
private

Boolean that says if we use matched projectors (forward = backward)

Definition at line 555 of file code/include/projector/oProjectionLine.hh.

◆ m_verbose

int oProjectionLine::m_verbose
private

The verbose level

Definition at line 509 of file code/include/projector/oProjectionLine.hh.

◆ mp_BackwardProjector

vProjector * oProjectionLine::mp_BackwardProjector
private

Pointer to the backward projector in use

Definition at line 557 of file code/include/projector/oProjectionLine.hh.

◆ mp_bufferOrientation1

FLTNB * oProjectionLine::mp_bufferOrientation1
private

A buffer for orientation of point 1 (used when compression)

Definition at line 547 of file code/include/projector/oProjectionLine.hh.

◆ mp_bufferOrientation2

FLTNB * oProjectionLine::mp_bufferOrientation2
private

A buffer for orientation of point 2 (used when compression)

Definition at line 548 of file code/include/projector/oProjectionLine.hh.

◆ mp_bufferPosition1

FLTNB * oProjectionLine::mp_bufferPosition1
private

A buffer for position of point 1 (used when compression)

Definition at line 543 of file code/include/projector/oProjectionLine.hh.

◆ mp_bufferPosition2

FLTNB * oProjectionLine::mp_bufferPosition2
private

A buffer for position of point 2 (used when compression)

Definition at line 544 of file code/include/projector/oProjectionLine.hh.

◆ mp_customFLTData

EVTFLTDATA* oProjectionLine::mp_customFLTData
private

Customizable data EVTFLTDATA type

Definition at line 642 of file include/projector/oProjectionLine.hh.

◆ mp_customINTData

EVTINTDATA* oProjectionLine::mp_customINTData
private

Customizable data EVTINTDATA type

Definition at line 643 of file include/projector/oProjectionLine.hh.

◆ mp_ForwardProjector

vProjector * oProjectionLine::mp_ForwardProjector
private

Pointer to the forward projector in use

Definition at line 556 of file code/include/projector/oProjectionLine.hh.

◆ mp_ImageDimensionsAndQuantification

oImageDimensionsAndQuantification * oProjectionLine::mp_ImageDimensionsAndQuantification
private

Pointer to the oImageDimensionsAndQuantification object in use

Definition at line 525 of file code/include/projector/oProjectionLine.hh.

◆ mp_orientation1

FLTNB * oProjectionLine::mp_orientation1
private

The current orientation of point 1 (along the 3 axes)

Definition at line 545 of file code/include/projector/oProjectionLine.hh.

◆ mp_orientation2

FLTNB * oProjectionLine::mp_orientation2
private

The current orientation of point 2 (along the 3 axes)

Definition at line 546 of file code/include/projector/oProjectionLine.hh.

◆ mp_POI1

FLTNB * oProjectionLine::mp_POI1
private

The current POI of point 1 of the event (along the 3 axes)

Definition at line 535 of file code/include/projector/oProjectionLine.hh.

◆ mp_POI2

FLTNB * oProjectionLine::mp_POI2
private

The current POI of point 2 of the event (along the 3 axes)

Definition at line 536 of file code/include/projector/oProjectionLine.hh.

◆ mp_POIResolution

FLTNB * oProjectionLine::mp_POIResolution
private

The POI resolution in use (along the 3 axes)

Definition at line 537 of file code/include/projector/oProjectionLine.hh.

◆ mp_position1

FLTNB * oProjectionLine::mp_position1
private

The current position of point 1 (along the 3 axes)

Definition at line 541 of file code/include/projector/oProjectionLine.hh.

◆ mp_position2

FLTNB * oProjectionLine::mp_position2
private

The current position of point 2 (along the 3 axes)

Definition at line 542 of file code/include/projector/oProjectionLine.hh.


The documentation for this class was generated from the following files: