EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TpcSpaceChargeMatrixContainerv1 Class Reference

Cluster container object. More...

#include <fun4all_coresoftware/blob/master/offline/packages/tpccalib/TpcSpaceChargeMatrixContainerv1.h>

+ Inheritance diagram for TpcSpaceChargeMatrixContainerv1:
+ Collaboration diagram for TpcSpaceChargeMatrixContainerv1:

Public Member Functions

 TpcSpaceChargeMatrixContainerv1 ()
 constructor
 
 ~TpcSpaceChargeMatrixContainerv1 () override=default
 destructor
 
accessors
void identify (std::ostream &os=std::cout) const override
 identify object
 
void get_grid_dimensions (int &phibins, int &rbins, int &zbins) const override
 get grid dimensions
 
int get_grid_size () const override
 get grid size
 
int get_cell_index (int iphibin, int irbin, int izbin) const override
 get grid index for given sub-indexes
 
int get_entries (int cell_index) const override
 get entries for a given cell
 
float get_lhs (int cell_index, int i, int j) const override
 get left hand side
 
float get_rhs (int cell_index, int i) const override
 get right hand side
 
modifiers
void Reset () override
 reset method
 
void set_grid_dimensions (int phibins, int rbins, int zbins) override
 set grid dimensions
 
void add_to_entries (int cell_index) override
 increment cell entries
 
void add_to_entries (int cell_index, int value) override
 increment cell entries
 
void add_to_lhs (int cell_index, int i, int j, float value) override
 increment left hand side matrix
 
void add_to_rhs (int cell_index, int i, float value) override
 increment right hand side column
 
bool add (const TpcSpaceChargeMatrixContainer &other) override
 add content from other container
 
- Public Member Functions inherited from TpcSpaceChargeMatrixContainer
 TpcSpaceChargeMatrixContainer ()
 constructor
 
 ~TpcSpaceChargeMatrixContainer () override=default
 destructor
 
- Public Member Functions inherited from PHObject
 PHObject ()
 ctor
 
 ~PHObject () override
 dtor
 
virtual PHObjectCloneMe () const
 Virtual copy constructor.
 
virtual PHObjectclone () const final
 
PHObjectClone (const char *newname="") const final
 
void Copy (TObject &object) const final
 
virtual int isValid () const
 isValid returns non zero if object contains vailid data
 
virtual int isValid (const float) const
 
virtual int isValid (const double) const
 
virtual int isValid (const int) const
 
virtual int isValid (const unsigned int) const
 
virtual int isImplemented (const float f) const
 
virtual int isImplemented (const double f) const
 
virtual int isImplemented (const int i) const
 
virtual int isImplemented (const unsigned int i) const
 
virtual int Integrate () const
 
virtual int Integrate (PHObject *)
 
virtual void CopyFrom (const PHObject *obj)
 

Private Types

using matrix_t = std::array< float, m_ncoord *m_ncoord >
 internal matrix representation
 
using column_t = std::array< float, m_ncoord >
 

Private Member Functions

bool bound_check (int cell_index) const
 boundary check
 
bool bound_check (int cell_index, int i) const
 boundary check
 
bool bound_check (int cell_index, int i, int j) const
 boundary check
 
int get_flat_index (int i, int j) const
 map matrix index to flat array
 

Private Attributes

std::vector< matrix_tm_lhs
 left hand side matrices for distortion inversions
 
std::vector< column_tm_rhs
 right hand side matrices for distortion inversions
 
std::vector< int > m_entries
 keep track of how many entries are used per cells
 
grid size
int m_phibins = 36
 
int m_rbins = 16
 
int m_zbins = 80
 

Static Private Attributes

static constexpr int m_ncoord = 3
 number of coordinates
 

Detailed Description

Cluster container object.

Definition at line 18 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 18 of file TpcSpaceChargeMatrixContainerv1.h

Member Typedef Documentation

using TpcSpaceChargeMatrixContainerv1::column_t = std::array<float, m_ncoord>
private

Definition at line 114 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 114 of file TpcSpaceChargeMatrixContainerv1.h

using TpcSpaceChargeMatrixContainerv1::matrix_t = std::array<float, m_ncoord*m_ncoord>
private

internal matrix representation

Since matrices are symetric, one just needs to store ncoords*(ncoords+1)/2 values

Definition at line 113 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 113 of file TpcSpaceChargeMatrixContainerv1.h

Constructor & Destructor Documentation

TpcSpaceChargeMatrixContainerv1::TpcSpaceChargeMatrixContainerv1 ( )

constructor

Definition at line 12 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 12 of file TpcSpaceChargeMatrixContainerv1.cc

References Reset().

+ Here is the call graph for this function:

TpcSpaceChargeMatrixContainerv1::~TpcSpaceChargeMatrixContainerv1 ( )
overridedefault

destructor

Member Function Documentation

bool TpcSpaceChargeMatrixContainerv1::add ( const TpcSpaceChargeMatrixContainer other)
overridevirtual

add content from other container

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 115 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 115 of file TpcSpaceChargeMatrixContainerv1.cc

References add_to_entries(), add_to_lhs(), add_to_rhs(), TpcSpaceChargeMatrixContainer::get_entries(), TpcSpaceChargeMatrixContainer::get_grid_dimensions(), TpcSpaceChargeMatrixContainer::get_lhs(), TpcSpaceChargeMatrixContainer::get_rhs(), m_lhs, m_ncoord, m_phibins, m_rbins, m_zbins, and phibins.

+ Here is the call graph for this function:

void TpcSpaceChargeMatrixContainerv1::add_to_entries ( int  cell_index)
inlineoverridevirtual

increment cell entries

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 68 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 68 of file TpcSpaceChargeMatrixContainerv1.h

References add_to_entries().

Referenced by add(), and add_to_entries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void TpcSpaceChargeMatrixContainerv1::add_to_entries ( int  cell_index,
int  value 
)
overridevirtual

increment cell entries

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 94 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 94 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), m_entries, and value.

+ Here is the call graph for this function:

void TpcSpaceChargeMatrixContainerv1::add_to_lhs ( int  cell_index,
int  i,
int  j,
float  value 
)
overridevirtual

increment left hand side matrix

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 101 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 101 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), get_flat_index(), m_lhs, and value.

Referenced by add().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void TpcSpaceChargeMatrixContainerv1::add_to_rhs ( int  cell_index,
int  i,
float  value 
)
overridevirtual

increment right hand side column

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 108 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 108 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), m_rhs, and value.

Referenced by add().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool TpcSpaceChargeMatrixContainerv1::bound_check ( int  cell_index) const
private

boundary check

Definition at line 147 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 147 of file TpcSpaceChargeMatrixContainerv1.cc

References m_rhs.

Referenced by add_to_entries(), add_to_lhs(), add_to_rhs(), get_entries(), get_lhs(), and get_rhs().

+ Here is the caller graph for this function:

bool TpcSpaceChargeMatrixContainerv1::bound_check ( int  cell_index,
int  i 
) const
private

boundary check

Definition at line 154 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 154 of file TpcSpaceChargeMatrixContainerv1.cc

References m_ncoord, and m_rhs.

bool TpcSpaceChargeMatrixContainerv1::bound_check ( int  cell_index,
int  i,
int  j 
) const
private

boundary check

Definition at line 162 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 162 of file TpcSpaceChargeMatrixContainerv1.cc

References m_lhs, and m_ncoord.

int TpcSpaceChargeMatrixContainerv1::get_cell_index ( int  iphibin,
int  irbin,
int  izbin 
) const
overridevirtual

get grid index for given sub-indexes

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 40 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 40 of file TpcSpaceChargeMatrixContainerv1.cc

References m_phibins, m_rbins, and m_zbins.

int TpcSpaceChargeMatrixContainerv1::get_entries ( int  cell_index) const
overridevirtual

get entries for a given cell

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 49 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 49 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), and m_entries.

+ Here is the call graph for this function:

int TpcSpaceChargeMatrixContainerv1::get_flat_index ( int  i,
int  j 
) const
private

map matrix index to flat array

Definition at line 171 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 171 of file TpcSpaceChargeMatrixContainerv1.cc

References m_ncoord.

Referenced by add_to_lhs(), and get_lhs().

+ Here is the caller graph for this function:

void TpcSpaceChargeMatrixContainerv1::get_grid_dimensions ( int &  phibins,
int &  rbins,
int &  zbins 
) const
overridevirtual

get grid dimensions

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 28 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 28 of file TpcSpaceChargeMatrixContainerv1.cc

References m_phibins, m_rbins, and m_zbins.

int TpcSpaceChargeMatrixContainerv1::get_grid_size ( ) const
overridevirtual

get grid size

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 36 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 36 of file TpcSpaceChargeMatrixContainerv1.cc

References m_phibins, m_rbins, and m_zbins.

float TpcSpaceChargeMatrixContainerv1::get_lhs ( int  cell_index,
int  i,
int  j 
) const
overridevirtual

get left hand side

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 57 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 57 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), get_flat_index(), and m_lhs.

+ Here is the call graph for this function:

float TpcSpaceChargeMatrixContainerv1::get_rhs ( int  cell_index,
int  i 
) const
overridevirtual

get right hand side

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 65 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 65 of file TpcSpaceChargeMatrixContainerv1.cc

References bound_check(), and m_rhs.

+ Here is the call graph for this function:

void TpcSpaceChargeMatrixContainerv1::identify ( std::ostream &  os = std::cout) const
overridevirtual

identify object

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 19 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 19 of file TpcSpaceChargeMatrixContainerv1.cc

References m_phibins, m_rbins, and m_zbins.

void TpcSpaceChargeMatrixContainerv1::Reset ( )
overridevirtual

reset method

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 73 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 73 of file TpcSpaceChargeMatrixContainerv1.cc

References m_entries, m_lhs, m_phibins, m_rbins, m_rhs, and m_zbins.

Referenced by set_grid_dimensions(), and TpcSpaceChargeMatrixContainerv1().

+ Here is the caller graph for this function:

void TpcSpaceChargeMatrixContainerv1::set_grid_dimensions ( int  phibins,
int  rbins,
int  zbins 
)
overridevirtual

set grid dimensions

Parameters
phibinsthe number of bins in the azimuth direction
zbinsthe number of bins along z

Reimplemented from TpcSpaceChargeMatrixContainer.

Definition at line 85 of file TpcSpaceChargeMatrixContainerv1.cc.

View newest version in sPHENIX GitHub at line 85 of file TpcSpaceChargeMatrixContainerv1.cc

References m_phibins, m_rbins, m_zbins, phibins, and Reset().

+ Here is the call graph for this function:

Member Data Documentation

std::vector<int> TpcSpaceChargeMatrixContainerv1::m_entries
private

keep track of how many entries are used per cells

Definition at line 123 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 123 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add_to_entries(), get_entries(), and Reset().

std::vector<matrix_t> TpcSpaceChargeMatrixContainerv1::m_lhs
private

left hand side matrices for distortion inversions

Definition at line 117 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 117 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add(), add_to_lhs(), bound_check(), get_lhs(), and Reset().

constexpr int TpcSpaceChargeMatrixContainerv1::m_ncoord = 3
staticprivate

number of coordinates

Definition at line 107 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 107 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add(), bound_check(), and get_flat_index().

int TpcSpaceChargeMatrixContainerv1::m_phibins = 36
private

Definition at line 101 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 101 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add(), get_cell_index(), get_grid_dimensions(), get_grid_size(), identify(), Reset(), and set_grid_dimensions().

int TpcSpaceChargeMatrixContainerv1::m_rbins = 16
private

Definition at line 102 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 102 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add(), get_cell_index(), get_grid_dimensions(), get_grid_size(), identify(), Reset(), and set_grid_dimensions().

std::vector<column_t> TpcSpaceChargeMatrixContainerv1::m_rhs
private

right hand side matrices for distortion inversions

Definition at line 120 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 120 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add_to_rhs(), bound_check(), get_rhs(), and Reset().

int TpcSpaceChargeMatrixContainerv1::m_zbins = 80
private

Definition at line 103 of file TpcSpaceChargeMatrixContainerv1.h.

View newest version in sPHENIX GitHub at line 103 of file TpcSpaceChargeMatrixContainerv1.h

Referenced by add(), get_cell_index(), get_grid_dimensions(), get_grid_size(), identify(), Reset(), and set_grid_dimensions().


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