CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes
TrackSoAHeterogeneousT< S > Class Template Reference

#include <TrackSoAHeterogeneousT.h>

Public Types

using hindex_type = uint32_t
 
using HitContainer = cms::cuda::OneToManyAssoc< hindex_type, S+1, 5 *S >
 
using Quality = pixelTrack::Quality
 

Public Member Functions

constexpr float charge (int32_t i) const
 
constexpr int nHits (int i) const
 
constexpr float phi (int32_t i) const
 
constexpr Qualityquality (int32_t i)
 
constexpr Quality quality (int32_t i) const
 
constexpr QualityqualityData ()
 
constexpr const QualityqualityData () const
 
constexpr float tip (int32_t i) const
 
constexpr float zip (int32_t i) const
 

Static Public Member Functions

static constexpr int32_t stride ()
 

Public Attributes

eigenSoA::ScalarSoA< float, Schi2
 
HitContainer detIndices
 
eigenSoA::ScalarSoA< float, Seta
 
HitContainer hitIndices
 
eigenSoA::ScalarSoA< float, Spt
 
TrajectoryStateSoAT< SstateAtBS
 

Private Attributes

eigenSoA::ScalarSoA< uint8_t, Squality_
 

Detailed Description

template<int32_t S>
class TrackSoAHeterogeneousT< S >

Definition at line 23 of file TrackSoAHeterogeneousT.h.

Member Typedef Documentation

◆ hindex_type

template<int32_t S>
using TrackSoAHeterogeneousT< S >::hindex_type = uint32_t

Definition at line 28 of file TrackSoAHeterogeneousT.h.

◆ HitContainer

template<int32_t S>
using TrackSoAHeterogeneousT< S >::HitContainer = cms::cuda::OneToManyAssoc<hindex_type, S + 1, 5 * S>

Definition at line 29 of file TrackSoAHeterogeneousT.h.

◆ Quality

template<int32_t S>
using TrackSoAHeterogeneousT< S >::Quality = pixelTrack::Quality

Definition at line 27 of file TrackSoAHeterogeneousT.h.

Member Function Documentation

◆ charge()

template<int32_t S>
constexpr float TrackSoAHeterogeneousT< S >::charge ( int32_t  i) const
inlineconstexpr

Definition at line 52 of file TrackSoAHeterogeneousT.h.

52 { return std::copysign(1.f, stateAtBS.state(i)(2)); }

References f, mps_fire::i, and TrackSoAHeterogeneousT< S >::stateAtBS.

◆ nHits()

template<int32_t S>
constexpr int TrackSoAHeterogeneousT< S >::nHits ( int  i) const
inlineconstexpr

Definition at line 45 of file TrackSoAHeterogeneousT.h.

45 { return detIndices.size(i); }

References TrackSoAHeterogeneousT< S >::detIndices, and mps_fire::i.

◆ phi()

template<int32_t S>
constexpr float TrackSoAHeterogeneousT< S >::phi ( int32_t  i) const
inlineconstexpr

Definition at line 53 of file TrackSoAHeterogeneousT.h.

53 { return stateAtBS.state(i)(0); }

References mps_fire::i, and TrackSoAHeterogeneousT< S >::stateAtBS.

Referenced by Particle.Particle::__str__(), and ntupleDataFormat.Track::phiPull().

◆ quality() [1/2]

template<int32_t S>
constexpr Quality& TrackSoAHeterogeneousT< S >::quality ( int32_t  i)
inlineconstexpr

Definition at line 38 of file TrackSoAHeterogeneousT.h.

38 { return (Quality &)(quality_(i)); }

References mps_fire::i, and TrackSoAHeterogeneousT< S >::quality_.

◆ quality() [2/2]

template<int32_t S>
constexpr Quality TrackSoAHeterogeneousT< S >::quality ( int32_t  i) const
inlineconstexpr

Definition at line 37 of file TrackSoAHeterogeneousT.h.

37 { return (Quality)(quality_(i)); }

References mps_fire::i, and TrackSoAHeterogeneousT< S >::quality_.

◆ qualityData() [1/2]

template<int32_t S>
constexpr Quality* TrackSoAHeterogeneousT< S >::qualityData ( )
inlineconstexpr

◆ qualityData() [2/2]

template<int32_t S>
constexpr const Quality* TrackSoAHeterogeneousT< S >::qualityData ( ) const
inlineconstexpr

◆ stride()

template<int32_t S>
static constexpr int32_t TrackSoAHeterogeneousT< S >::stride ( )
inlinestaticconstexpr

Definition at line 25 of file TrackSoAHeterogeneousT.h.

25 { return S; }

References S().

Referenced by gpuVertexFinder::Producer::make().

◆ tip()

template<int32_t S>
constexpr float TrackSoAHeterogeneousT< S >::tip ( int32_t  i) const
inlineconstexpr

Definition at line 54 of file TrackSoAHeterogeneousT.h.

54 { return stateAtBS.state(i)(1); }

References mps_fire::i, and TrackSoAHeterogeneousT< S >::stateAtBS.

◆ zip()

template<int32_t S>
constexpr float TrackSoAHeterogeneousT< S >::zip ( int32_t  i) const
inlineconstexpr

Definition at line 55 of file TrackSoAHeterogeneousT.h.

55 { return stateAtBS.state(i)(4); }

References mps_fire::i, and TrackSoAHeterogeneousT< S >::stateAtBS.

Member Data Documentation

◆ chi2

template<int32_t S>
eigenSoA::ScalarSoA<float, S> TrackSoAHeterogeneousT< S >::chi2

Definition at line 43 of file TrackSoAHeterogeneousT.h.

◆ detIndices

template<int32_t S>
HitContainer TrackSoAHeterogeneousT< S >::detIndices

◆ eta

template<int32_t S>
eigenSoA::ScalarSoA<float, S> TrackSoAHeterogeneousT< S >::eta

◆ hitIndices

template<int32_t S>
HitContainer TrackSoAHeterogeneousT< S >::hitIndices

◆ pt

template<int32_t S>
eigenSoA::ScalarSoA<float, S> TrackSoAHeterogeneousT< S >::pt

◆ quality_

template<int32_t S>
eigenSoA::ScalarSoA<uint8_t, S> TrackSoAHeterogeneousT< S >::quality_
private

◆ stateAtBS

template<int32_t S>
TrajectoryStateSoAT<S> TrackSoAHeterogeneousT< S >::stateAtBS
mps_fire.i
i
Definition: mps_fire.py:428
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
pixelTrack::Quality
Quality
Definition: TrackSoAHeterogeneousT.h:13
TrackSoAHeterogeneousT::quality_
eigenSoA::ScalarSoA< uint8_t, S > quality_
Definition: TrackSoAHeterogeneousT.h:34
S
double S(const TLorentzVector &, const TLorentzVector &)
Definition: Particle.cc:97
TrackSoAHeterogeneousT::stateAtBS
TrajectoryStateSoAT< S > stateAtBS
Definition: TrackSoAHeterogeneousT.h:49
eigenSoA::ScalarSoA::data
__host__ constexpr __device__ Scalar * data()
Definition: eigenSoA.h:26
TrackSoAHeterogeneousT::detIndices
HitContainer detIndices
Definition: TrackSoAHeterogeneousT.h:63