ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Cluster container object. More...
#include <coresoftware/blob/master/offline/packages/tpccalib/TpcSpaceChargeMatrixContainerv1.h>
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 PHObject * | CloneMe () const |
Virtual copy constructor. | |
virtual PHObject * | clone () const final |
PHObject * | Clone (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_t > | m_lhs |
left hand side matrices for distortion inversions | |
std::vector< column_t > | m_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 | |
Cluster container object.
Definition at line 18 of file TpcSpaceChargeMatrixContainerv1.h.
View newest version in sPHENIX GitHub at line 18 of file TpcSpaceChargeMatrixContainerv1.h
|
private |
Definition at line 114 of file TpcSpaceChargeMatrixContainerv1.h.
View newest version in sPHENIX GitHub at line 114 of file TpcSpaceChargeMatrixContainerv1.h
|
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
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().
|
overridedefault |
destructor
|
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 MATSCAN::phibins.
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().
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(), and m_entries.
|
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(), and m_lhs.
Referenced by add().
|
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(), and m_rhs.
Referenced by add().
|
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().
boundary check
Definition at line 154 of file TpcSpaceChargeMatrixContainerv1.cc.
View newest version in sPHENIX GitHub at line 154 of file TpcSpaceChargeMatrixContainerv1.cc
boundary check
Definition at line 162 of file TpcSpaceChargeMatrixContainerv1.cc.
View newest version in sPHENIX GitHub at line 162 of file TpcSpaceChargeMatrixContainerv1.cc
|
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
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.
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().
|
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
|
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
|
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.
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.
|
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
|
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().
|
overridevirtual |
set grid dimensions
phibins | the number of bins in the azimuth direction |
zbins | the 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, MATSCAN::phibins, and Reset().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().