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

#include <coresoftware/blob/master/offline/packages/mvtx/CylinderGeom_Mvtx.h>

+ Inheritance diagram for CylinderGeom_Mvtx:
+ Collaboration diagram for CylinderGeom_Mvtx:

Public Member Functions

 CylinderGeom_Mvtx (int layer, int in_Nstaves, double in_layer_nominal_radius, double in_phistep, double in_phitilt, double in_phi0)
 
 CylinderGeom_Mvtx ()
 default ctor to allow ROOT stream of this class. Implemented using c++11 feature of delegating constructors
 
 ~CylinderGeom_Mvtx () override
 
void identify (std::ostream &os=std::cout) const override
 
void set_layer (const int i) override
 
int get_layer () const override
 
double get_radius () const override
 
double get_pixel_x () const override
 
double get_pixel_z () const override
 
double get_pixel_thickness () const override
 
TVector3 get_local_from_world_coords (int stave, int half_stave, int module, int chip, TVector3 world_location)
 
TVector3 get_world_from_local_coords (int stave, int half_stave, int module, int chip, TVector3 sensor_local)
 
TVector3 get_local_from_world_coords (int stave, int chip, TVector3 world_location)
 
TVector3 get_world_from_local_coords (int stave, int chip, TVector3 sensor_local)
 
void get_sensor_indices_from_world_coords (std::vector< double > &world, unsigned int &stave, unsigned int &chip)
 
bool get_pixel_from_local_coords (TVector3 sensor_local, int &iRow, int &iCol)
 
int get_pixel_from_local_coords (TVector3 sensor_local)
 
TVector3 get_local_coords_from_pixel (int NXZ)
 
TVector3 get_local_coords_from_pixel (int iRow, int iCol)
 
int get_pixel_X_from_pixel_number (int NXZ)
 
int get_pixel_Z_from_pixel_number (int NXZ)
 
int get_pixel_number_from_xbin_zbin (int xbin, int zbin)
 
double get_stave_phi_tilt () const
 
double get_stave_phi_0 () const
 
int get_ladder_phi_index (int stave, int, int)
 
int get_ladder_z_index (int, int chip)
 
void find_sensor_center (int stave_number, int half_stave_number, int module_number, int chip_number, double location[])
 
int get_N_staves () const
 
int get_N_half_staves () const
 
int get_NZ () const
 
int get_NX () const
 
- Public Member Functions inherited from PHG4CylinderGeom
 ~PHG4CylinderGeom () override
 
void identify (std::ostream &os=std::cout) const override
 
virtual double get_thickness () const
 
virtual double get_zmin () const
 
virtual double get_zmax () const
 
virtual int get_nscint () const
 
virtual double get_tiltangle () const
 
virtual double get_phi_slat_zero () const
 
virtual void set_radius (const double)
 
virtual void set_thickness (const double)
 
virtual void set_zmin (const double)
 
virtual void set_zmax (const double)
 
virtual void set_nscint (const int)
 
virtual void set_tiltangle (const double)
 
virtual void set_phi_slat_zero (const double)
 
virtual void find_segment_center (const int, const int, double[])
 
virtual void find_strip_center (const int, const int, const int, const int, double[])
 
virtual void find_strip_index_values (const int, const double, const double, int &, int &)
 
virtual void find_strip_center_local_coords (const int, const int, const int, double[])
 
virtual double get_strip_y_spacing () const
 
virtual double get_strip_z_spacing () const
 
virtual double get_strip_tilt () const
 
virtual int get_N_strip_columns () const
 
virtual int get_N_strips_per_column () const
 
virtual int get_N_sensors_in_layer () const
 
virtual void ImportParameters (const PHParameters &)
 load parameters from PHParameters, which interface to Database/XML/ROOT files
 
- 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 void Reset ()
 Clear Event.
 
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)
 

Protected Attributes

int layer
 
int N_staves
 
int N_half_staves
 
double layer_radius
 
double stave_phi_step
 
double stave_phi_tilt
 
double stave_phi_0
 
double loc_sensor_in_chip [3]
 
double inner_loc_chip_in_module [9][3]
 
double inner_loc_module_in_halfstave [3]
 
double inner_loc_halfstave_in_stave [3]
 
double pixel_x
 
double pixel_z
 
double pixel_thickness
 

Additional Inherited Members

- Protected Member Functions inherited from PHG4CylinderGeom
 PHG4CylinderGeom ()
 

Detailed Description

Definition at line 10 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 10 of file CylinderGeom_Mvtx.h

Constructor & Destructor Documentation

CylinderGeom_Mvtx::CylinderGeom_Mvtx ( int  layer,
int  in_Nstaves,
double  in_layer_nominal_radius,
double  in_phistep,
double  in_phitilt,
double  in_phi0 
)

Definition at line 14 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 14 of file CylinderGeom_Mvtx.cc

References inner_loc_chip_in_module, inner_loc_halfstave_in_stave, inner_loc_module_in_halfstave, and loc_sensor_in_chip.

CylinderGeom_Mvtx::CylinderGeom_Mvtx ( )
inline

default ctor to allow ROOT stream of this class. Implemented using c++11 feature of delegating constructors

Definition at line 23 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 23 of file CylinderGeom_Mvtx.h

CylinderGeom_Mvtx::~CylinderGeom_Mvtx ( )
inlineoverride

Definition at line 34 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 34 of file CylinderGeom_Mvtx.h

Member Function Documentation

void CylinderGeom_Mvtx::find_sensor_center ( int  stave_number,
int  half_stave_number,
int  module_number,
int  chip_number,
double  location[] 
)

Definition at line 273 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 273 of file CylinderGeom_Mvtx.cc

References get_world_from_local_coords().

Referenced by MakeActsGeometry::getMvtxHitSetKeyFromCoords(), PHGenFitTrkProp::ReFitTrack(), PHGenFitTrkFitter::ReFitTrack(), and PHGenFitTrkProp::TrkrClusterToPHGenFitMeasurement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CylinderGeom_Mvtx::get_ladder_phi_index ( int  stave,
int  ,
int   
)
inline

Definition at line 81 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 81 of file CylinderGeom_Mvtx.h

int CylinderGeom_Mvtx::get_ladder_z_index ( int  ,
int  chip 
)
inline

Definition at line 82 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 82 of file CylinderGeom_Mvtx.h

int CylinderGeom_Mvtx::get_layer ( ) const
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 42 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 42 of file CylinderGeom_Mvtx.h

References layer.

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

TVector3 CylinderGeom_Mvtx::get_local_coords_from_pixel ( int  NXZ)

Definition at line 238 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 238 of file CylinderGeom_Mvtx.cc

References get_NX().

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TVector3 CylinderGeom_Mvtx::get_local_coords_from_pixel ( int  iRow,
int  iCol 
)

Definition at line 246 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 246 of file CylinderGeom_Mvtx.cc

References SegmentationAlpide::detectorToLocal(), loc_sensor_in_chip, local, and PHWHERE.

+ Here is the call graph for this function:

TVector3 CylinderGeom_Mvtx::get_local_from_world_coords ( int  stave,
int  half_stave,
int  module,
int  chip,
TVector3  world_location 
)

Definition at line 74 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 74 of file CylinderGeom_Mvtx.cc

References inner_loc_chip_in_module, inner_loc_halfstave_in_stave, inner_loc_module_in_halfstave, layer_radius, loc_sensor_in_chip, M_PI, Acts::IntegrationTest::R, stave_phi_0, stave_phi_step, and stave_phi_tilt.

Referenced by PHTruthClustering::G4ClusterSize(), SvtxTruthEval::G4ClusterSize(), get_local_from_world_coords(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

TVector3 CylinderGeom_Mvtx::get_local_from_world_coords ( int  stave,
int  chip,
TVector3  world_location 
)
inline

Definition at line 53 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 53 of file CylinderGeom_Mvtx.h

References get_local_from_world_coords().

+ Here is the call graph for this function:

int CylinderGeom_Mvtx::get_N_half_staves ( ) const
inline

Definition at line 87 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 87 of file CylinderGeom_Mvtx.h

References N_half_staves.

int CylinderGeom_Mvtx::get_N_staves ( ) const
inline

Definition at line 86 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 86 of file CylinderGeom_Mvtx.h

References N_staves.

int CylinderGeom_Mvtx::get_NX ( ) const

Definition at line 292 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 292 of file CylinderGeom_Mvtx.cc

References SegmentationAlpide::NRows.

Referenced by get_local_coords_from_pixel(), get_pixel_from_local_coords(), get_pixel_number_from_xbin_zbin(), get_pixel_X_from_pixel_number(), get_pixel_Z_from_pixel_number(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

int CylinderGeom_Mvtx::get_NZ ( ) const

Definition at line 287 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 287 of file CylinderGeom_Mvtx.cc

References SegmentationAlpide::NCols.

Referenced by get_pixel_from_local_coords(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

bool CylinderGeom_Mvtx::get_pixel_from_local_coords ( TVector3  sensor_local,
int iRow,
int iCol 
)

Definition at line 196 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 196 of file CylinderGeom_Mvtx.cc

References SegmentationAlpide::ActiveMatrixSizeCols, SegmentationAlpide::ActiveMatrixSizeRows, e, EPS, f, loc_sensor_in_chip, and SegmentationAlpide::localToDetector().

Referenced by PHTruthClustering::G4ClusterSize(), SvtxTruthEval::G4ClusterSize(), get_pixel_from_local_coords(), and PHG4MvtxHitReco::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CylinderGeom_Mvtx::get_pixel_from_local_coords ( TVector3  sensor_local)

Definition at line 219 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 219 of file CylinderGeom_Mvtx.cc

References get_NX(), get_NZ(), get_pixel_from_local_coords(), and PHWHERE.

+ Here is the call graph for this function:

int CylinderGeom_Mvtx::get_pixel_number_from_xbin_zbin ( int  xbin,
int  zbin 
)

Definition at line 307 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 307 of file CylinderGeom_Mvtx.cc

References get_NX().

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CylinderGeom_Mvtx::get_pixel_thickness ( ) const
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 47 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 47 of file CylinderGeom_Mvtx.h

References pixel_thickness.

double CylinderGeom_Mvtx::get_pixel_x ( ) const
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 45 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 45 of file CylinderGeom_Mvtx.h

References pixel_x.

Referenced by PHTruthClustering::G4ClusterSize(), SvtxTruthEval::G4ClusterSize(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

int CylinderGeom_Mvtx::get_pixel_X_from_pixel_number ( int  NXZ)

Definition at line 297 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 297 of file CylinderGeom_Mvtx.cc

References get_NX().

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CylinderGeom_Mvtx::get_pixel_z ( ) const
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 46 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 46 of file CylinderGeom_Mvtx.h

References pixel_z.

Referenced by PHTruthClustering::G4ClusterSize(), SvtxTruthEval::G4ClusterSize(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

int CylinderGeom_Mvtx::get_pixel_Z_from_pixel_number ( int  NXZ)

Definition at line 302 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 302 of file CylinderGeom_Mvtx.cc

References get_NX().

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CylinderGeom_Mvtx::get_radius ( ) const
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 43 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 43 of file CylinderGeom_Mvtx.h

References layer_radius.

void CylinderGeom_Mvtx::get_sensor_indices_from_world_coords ( std::vector< double > &  world,
unsigned int stave,
unsigned int chip 
)

Definition at line 124 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 124 of file CylinderGeom_Mvtx.cc

References inner_loc_chip_in_module, M_PI, phi, round(), stave_phi_0, and stave_phi_step.

Referenced by PHTruthClustering::G4ClusterSize(), SvtxTruthEval::G4ClusterSize(), and MakeActsGeometry::getMvtxHitSetKeyFromCoords().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CylinderGeom_Mvtx::get_stave_phi_0 ( ) const
inline

Definition at line 79 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 79 of file CylinderGeom_Mvtx.h

References stave_phi_0.

double CylinderGeom_Mvtx::get_stave_phi_tilt ( ) const
inline

Definition at line 78 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 78 of file CylinderGeom_Mvtx.h

References stave_phi_tilt.

Referenced by PHGenFitTrkProp::ReFitTrack().

+ Here is the caller graph for this function:

TVector3 CylinderGeom_Mvtx::get_world_from_local_coords ( int  stave,
int  half_stave,
int  module,
int  chip,
TVector3  sensor_local 
)

Definition at line 144 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 144 of file CylinderGeom_Mvtx.cc

References inner_loc_chip_in_module, inner_loc_halfstave_in_stave, inner_loc_module_in_halfstave, layer_radius, loc_sensor_in_chip, M_PI, Acts::IntegrationTest::R, stave_phi_0, stave_phi_step, and stave_phi_tilt.

Referenced by find_sensor_center(), get_world_from_local_coords(), and PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

TVector3 CylinderGeom_Mvtx::get_world_from_local_coords ( int  stave,
int  chip,
TVector3  sensor_local 
)
inline

Definition at line 59 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 59 of file CylinderGeom_Mvtx.h

References get_world_from_local_coords().

+ Here is the call graph for this function:

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

identify Function from PHObject

Parameters
osOutput Stream

Reimplemented from PHObject.

Definition at line 260 of file CylinderGeom_Mvtx.cc.

View newest version in sPHENIX GitHub at line 260 of file CylinderGeom_Mvtx.cc

References layer, layer_radius, N_half_staves, N_staves, pixel_thickness, pixel_x, and pixel_z.

Referenced by PHG4MvtxHitReco::process_event().

+ Here is the caller graph for this function:

void CylinderGeom_Mvtx::set_layer ( const int  i)
inlineoverridevirtual

Reimplemented from PHG4CylinderGeom.

Definition at line 41 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 41 of file CylinderGeom_Mvtx.h

Member Data Documentation

double CylinderGeom_Mvtx::inner_loc_chip_in_module[9][3]
protected

Definition at line 107 of file CylinderGeom_Mvtx.h.

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

Referenced by CylinderGeom_Mvtx(), get_local_from_world_coords(), get_sensor_indices_from_world_coords(), and get_world_from_local_coords().

double CylinderGeom_Mvtx::inner_loc_halfstave_in_stave[3]
protected

Definition at line 109 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 109 of file CylinderGeom_Mvtx.h

Referenced by CylinderGeom_Mvtx(), get_local_from_world_coords(), and get_world_from_local_coords().

double CylinderGeom_Mvtx::inner_loc_module_in_halfstave[3]
protected

Definition at line 108 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 108 of file CylinderGeom_Mvtx.h

Referenced by CylinderGeom_Mvtx(), get_local_from_world_coords(), and get_world_from_local_coords().

int CylinderGeom_Mvtx::layer
protected

Definition at line 93 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 93 of file CylinderGeom_Mvtx.h

Referenced by get_layer(), and identify().

double CylinderGeom_Mvtx::layer_radius
protected

Definition at line 98 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 98 of file CylinderGeom_Mvtx.h

Referenced by get_local_from_world_coords(), get_radius(), get_world_from_local_coords(), and identify().

double CylinderGeom_Mvtx::loc_sensor_in_chip[3]
protected
int CylinderGeom_Mvtx::N_half_staves
protected

Definition at line 95 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 95 of file CylinderGeom_Mvtx.h

Referenced by get_N_half_staves(), and identify().

int CylinderGeom_Mvtx::N_staves
protected

Definition at line 94 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 94 of file CylinderGeom_Mvtx.h

Referenced by get_N_staves(), and identify().

double CylinderGeom_Mvtx::pixel_thickness
protected

Definition at line 113 of file CylinderGeom_Mvtx.h.

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

Referenced by get_pixel_thickness(), and identify().

double CylinderGeom_Mvtx::pixel_x
protected

Definition at line 111 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 111 of file CylinderGeom_Mvtx.h

Referenced by get_pixel_x(), and identify().

double CylinderGeom_Mvtx::pixel_z
protected

Definition at line 112 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 112 of file CylinderGeom_Mvtx.h

Referenced by get_pixel_z(), and identify().

double CylinderGeom_Mvtx::stave_phi_0
protected

Definition at line 101 of file CylinderGeom_Mvtx.h.

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

Referenced by get_local_from_world_coords(), get_sensor_indices_from_world_coords(), get_stave_phi_0(), and get_world_from_local_coords().

double CylinderGeom_Mvtx::stave_phi_step
protected

Definition at line 99 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 99 of file CylinderGeom_Mvtx.h

Referenced by get_local_from_world_coords(), get_sensor_indices_from_world_coords(), and get_world_from_local_coords().

double CylinderGeom_Mvtx::stave_phi_tilt
protected

Definition at line 100 of file CylinderGeom_Mvtx.h.

View newest version in sPHENIX GitHub at line 100 of file CylinderGeom_Mvtx.h

Referenced by get_local_from_world_coords(), get_stave_phi_tilt(), and get_world_from_local_coords().


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