Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/offline/packages/micromegas/CylinderGeomMicromegas.h>
Public Member Functions | |
CylinderGeomMicromegas () | |
CylinderGeomMicromegas (int layer) | |
void | identify (std::ostream &) const override |
print information about this layer | |
modifiers | |
void | set_layer (const int i) override |
void | set_radius (const double value) override |
void | set_thickness (const double value) override |
void | set_zmin (const double value) override |
void | set_zmax (const double value) override |
void | set_pitch (double value) |
void | set_tiles (const MicromegasTile::List &tiles) |
tiles | |
void | set_segmentation_type (MicromegasDefs::SegmentationType value) |
segmentation | |
void | set_drift_direction (MicromegasDefs::DriftDirection value) |
drift direction | |
Public Member Functions inherited from PHG4CylinderGeom | |
~PHG4CylinderGeom () override | |
void | identify (std::ostream &os=std::cout) const override |
virtual int | get_nscint () const |
virtual double | get_tiltangle () const |
virtual double | get_phi_slat_zero () const |
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 double | get_pixel_z () const |
virtual double | get_pixel_x () const |
virtual double | get_pixel_thickness () 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 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 void | Reset () |
Clear Event. | |
virtual int | isValid () const |
isValid returns non zero if object contains vailid data | |
virtual int | Integrate () const |
virtual int | Integrate (PHObject *) |
virtual void | CopyFrom (const PHObject *obj) |
Private Attributes | |
int | m_layer = 0 |
layer id | |
MicromegasDefs::SegmentationType | m_segmentation_type = MicromegasDefs::SegmentationType::SEGMENTATION_PHI |
segmentation type | |
MicromegasDefs::DriftDirection | m_drift_direction = MicromegasDefs::DriftDirection::OUTWARD |
drift direction | |
double | m_radius = 0 |
layer radius | |
double | m_thickness = 0 |
layer thickness | |
double | m_zmin = 0 |
layer z extend | |
double | m_zmax = 0 |
layer z extend | |
double | m_pitch = 0.1 |
1mm pitch by default | |
MicromegasTile::List | m_tiles |
tiles | |
accessors | |
static constexpr double | reference_radius = 82 |
reference radius used in macro to convert tile size in azimuth into a angle range (cm) | |
int | get_layer () const override |
double | get_radius () const override |
double | get_thickness () const override |
double | get_zmin () const override |
double | get_zmax () const override |
double | get_pitch () const |
MicromegasDefs::SegmentationType | get_segmentation_type () const |
segmentation type | |
MicromegasDefs::DriftDirection | get_drift_direction () const |
drift direction | |
bool | check_radius (const TVector3 &) const |
TVector3 | get_local_from_world_coords (uint tileid, ActsGeometry *, const TVector3 &) const |
convert world to local position coordinates in (planar) tile reference frame | |
TVector3 | get_local_from_world_vect (uint tileid, ActsGeometry *, const TVector3 &) const |
convert world to local direction coordinates in (planar) tile reference frame | |
TVector3 | get_world_from_local_coords (uint tileid, ActsGeometry *, const TVector2 &) const |
convert local to world position coordinates in (planar) tile reference frame | |
TVector3 | get_world_from_local_coords (uint tileid, ActsGeometry *, const TVector3 &) const |
convert local to world position coordinates in (planar) tile reference frame | |
TVector3 | get_world_from_local_vect (uint tileid, ActsGeometry *, const TVector3 &) const |
convert local to world direction coordinates in (planar) tile reference frame | |
int | find_tile_cylindrical (const TVector3 &) const |
get tile for a given world location assuming tiles are portion of cylinder centered around tile center | |
size_t | get_tiles_count () const |
get number of tiles | |
const MicromegasTile & | get_tile (uint tileid) const |
get tile for given tileid | |
int | find_strip_from_world_coords (uint tileid, ActsGeometry *, const TVector3 &) const |
get strip for a give world location and tile | |
int | find_strip_from_local_coords (uint tileid, ActsGeometry *, const TVector2 &) const |
get strip for a give world location and tile | |
double | get_strip_length (uint tileid, ActsGeometry *) const |
get strip length for a given tile | |
uint | get_strip_count (uint tileid, ActsGeometry *) const |
get number of strips | |
TVector2 | get_local_coordinates (uint tileid, ActsGeometry *, uint stripnum) const |
get local coordinates for a given tile and strip | |
TVector3 | get_world_coordinates (uint tileid, ActsGeometry *, uint stripnum) const |
get world coordinates for a given tile and strip | |
Additional Inherited Members | |
Protected Member Functions inherited from PHG4CylinderGeom | |
PHG4CylinderGeom () | |
Definition at line 27 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 27 of file CylinderGeomMicromegas.h
|
inlineexplicit |
Definition at line 32 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 32 of file CylinderGeomMicromegas.h
|
inline |
Definition at line 36 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 36 of file CylinderGeomMicromegas.h
bool CylinderGeomMicromegas::check_radius | ( | const TVector3 & | world_coordinates | ) | const |
Definition at line 296 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 296 of file CylinderGeomMicromegas.cc
References QAG4Util::get_r(), m_radius, and m_thickness.
int CylinderGeomMicromegas::find_strip_from_local_coords | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector2 & | local_coordinates | ||
) | const |
get strip for a give world location and tile
Definition at line 174 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 174 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), get_layer(), get_segmentation_type(), ActsSurfaceMaps::getMMSurface(), Acts::RectangleBounds::halfLengthX(), m_pitch, m_segmentation_type, m_tiles, ActsGeometry::maps(), PHG4InttDefs::SEGMENTATION_PHI, PHG4InttDefs::SEGMENTATION_Z, and writeMapConfig::surface.
Referenced by PHG4MicromegasHitReco::distribute_charge(), and find_strip_from_world_coords().
int CylinderGeomMicromegas::find_strip_from_world_coords | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector3 & | world_coordinates | ||
) | const |
get strip for a give world location and tile
Definition at line 158 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 158 of file CylinderGeomMicromegas.cc
References find_strip_from_local_coords(), get_local_from_world_coords(), and m_thickness.
int CylinderGeomMicromegas::find_tile_cylindrical | ( | const TVector3 & | world_coordinates | ) | const |
get tile for a given world location assuming tiles are portion of cylinder centered around tile center
it is used to find the tile hit by a given track. The track is first extrapolated to the layer cylinder, the relevant tile is found, if any the track is then extrapolated a second time to the correct tile plane
Definition at line 138 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 138 of file CylinderGeomMicromegas.cc
References m_tiles, ActsTests::PropagationDatasets::phi, tile(), and physmon_track_finding_ttbar::z.
Referenced by MakeActsGeometry::makeMmMapPairs().
|
inline |
drift direction
Definition at line 56 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 56 of file CylinderGeomMicromegas.h
References m_drift_direction.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 45 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 45 of file CylinderGeomMicromegas.h
References m_layer.
Referenced by find_strip_from_local_coords(), get_local_coordinates(), get_local_from_world_coords(), get_local_from_world_vect(), get_strip_count(), get_strip_length(), get_world_from_local_coords(), and get_world_from_local_vect().
TVector2 CylinderGeomMicromegas::get_local_coordinates | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
uint | stripnum | ||
) | const |
get local coordinates for a given tile and strip
Definition at line 253 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 253 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), get_layer(), get_segmentation_type(), ActsSurfaceMaps::getMMSurface(), m_pitch, m_segmentation_type, m_tiles, ActsGeometry::maps(), PHG4InttDefs::SEGMENTATION_PHI, PHG4InttDefs::SEGMENTATION_Z, and writeMapConfig::surface.
Referenced by PHG4MicromegasHitReco::distribute_charge(), and get_world_coordinates().
TVector3 CylinderGeomMicromegas::get_local_from_world_coords | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector3 & | world_coordinates | ||
) | const |
convert world to local position coordinates in (planar) tile reference frame
Definition at line 39 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 39 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), ActsGeometry::geometry(), get_layer(), get_segmentation_type(), ActsTrackingGeometry::getGeoContext(), ActsSurfaceMaps::getMMSurface(), m_tiles, ActsGeometry::maps(), and writeMapConfig::surface.
Referenced by find_strip_from_world_coords().
TVector3 CylinderGeomMicromegas::get_local_from_world_vect | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector3 & | world_vect | ||
) | const |
convert world to local direction coordinates in (planar) tile reference frame
Definition at line 60 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 60 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), ActsGeometry::geometry(), get_layer(), get_segmentation_type(), ActsTrackingGeometry::getGeoContext(), ActsSurfaceMaps::getMMSurface(), m_tiles, ActsGeometry::maps(), and writeMapConfig::surface.
|
inline |
Definition at line 50 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 50 of file CylinderGeomMicromegas.h
References m_pitch.
Referenced by PHG4MicromegasHitReco::distribute_charge().
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 46 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 46 of file CylinderGeomMicromegas.h
References m_radius.
Referenced by PHMicromegasTpcTrackMatching::process_event().
|
inline |
segmentation type
Definition at line 53 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 53 of file CylinderGeomMicromegas.h
References m_segmentation_type.
Referenced by PHG4MicromegasHitReco::distribute_charge(), find_strip_from_local_coords(), get_local_coordinates(), get_local_from_world_coords(), get_local_from_world_vect(), get_strip_count(), get_strip_length(), get_world_from_local_coords(), get_world_from_local_vect(), and MakeActsGeometry::makeMmMapPairs().
uint CylinderGeomMicromegas::get_strip_count | ( | uint | tileid, |
ActsGeometry * | geometry | ||
) | const |
get number of strips
Definition at line 230 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 230 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), get_layer(), get_segmentation_type(), ActsSurfaceMaps::getMMSurface(), m_pitch, m_segmentation_type, m_tiles, ActsGeometry::maps(), PHG4InttDefs::SEGMENTATION_PHI, PHG4InttDefs::SEGMENTATION_Z, and writeMapConfig::surface.
Referenced by PHG4MicromegasHitReco::distribute_charge().
double CylinderGeomMicromegas::get_strip_length | ( | uint | tileid, |
ActsGeometry * | geometry | ||
) | const |
get strip length for a given tile
Definition at line 207 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 207 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), get_layer(), get_segmentation_type(), ActsSurfaceMaps::getMMSurface(), m_segmentation_type, m_tiles, ActsGeometry::maps(), PHG4InttDefs::SEGMENTATION_PHI, PHG4InttDefs::SEGMENTATION_Z, and writeMapConfig::surface.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 47 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 47 of file CylinderGeomMicromegas.h
References m_thickness.
|
inline |
get tile for given tileid
Definition at line 87 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 87 of file CylinderGeomMicromegas.h
|
inline |
get number of tiles
Definition at line 84 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 84 of file CylinderGeomMicromegas.h
References m_tiles.
TVector3 CylinderGeomMicromegas::get_world_coordinates | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
uint | stripnum | ||
) | const |
get world coordinates for a given tile and strip
Definition at line 277 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 277 of file CylinderGeomMicromegas.cc
References get_local_coordinates(), and get_world_from_local_coords().
TVector3 CylinderGeomMicromegas::get_world_from_local_coords | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector2 & | local_coordinates | ||
) | const |
convert local to world position coordinates in (planar) tile reference frame
Definition at line 79 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 79 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), ActsGeometry::geometry(), get_layer(), get_segmentation_type(), ActsTrackingGeometry::getGeoContext(), ActsSurfaceMaps::getMMSurface(), m_tiles, ActsGeometry::maps(), and writeMapConfig::surface.
Referenced by get_world_coordinates().
TVector3 CylinderGeomMicromegas::get_world_from_local_coords | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector3 & | local_coordinates | ||
) | const |
convert local to world position coordinates in (planar) tile reference frame
Definition at line 98 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 98 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), ActsGeometry::geometry(), get_layer(), get_segmentation_type(), ActsTrackingGeometry::getGeoContext(), ActsSurfaceMaps::getMMSurface(), m_tiles, ActsGeometry::maps(), and writeMapConfig::surface.
TVector3 CylinderGeomMicromegas::get_world_from_local_vect | ( | uint | tileid, |
ActsGeometry * | geometry, | ||
const TVector3 & | local_vect | ||
) | const |
convert local to world direction coordinates in (planar) tile reference frame
Definition at line 119 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 119 of file CylinderGeomMicromegas.cc
References assert, Acts::UnitConstants::cm, MicromegasDefs::genHitSetKey(), ActsGeometry::geometry(), get_layer(), get_segmentation_type(), ActsTrackingGeometry::getGeoContext(), ActsSurfaceMaps::getMMSurface(), m_tiles, ActsGeometry::maps(), and writeMapConfig::surface.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 49 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 49 of file CylinderGeomMicromegas.h
References m_zmax.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 48 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 48 of file CylinderGeomMicromegas.h
References m_zmin.
|
overridevirtual |
print information about this layer
Reimplemented from PHObject.
Definition at line 281 of file CylinderGeomMicromegas.cc.
View newest version in sPHENIX GitHub at line 281 of file CylinderGeomMicromegas.cc
References m_drift_direction, m_layer, m_pitch, m_radius, m_segmentation_type, m_thickness, m_zmax, m_zmin, and PHG4InttDefs::SEGMENTATION_PHI.
|
inline |
drift direction
Definition at line 132 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 132 of file CylinderGeomMicromegas.h
References m_drift_direction, and value.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 118 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 118 of file CylinderGeomMicromegas.h
|
inline |
Definition at line 123 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 123 of file CylinderGeomMicromegas.h
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 119 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 119 of file CylinderGeomMicromegas.h
|
inline |
segmentation
Definition at line 129 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 129 of file CylinderGeomMicromegas.h
References m_segmentation_type, and value.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 120 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 120 of file CylinderGeomMicromegas.h
References m_thickness, and value.
|
inline |
tiles
Definition at line 126 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 126 of file CylinderGeomMicromegas.h
References m_tiles.
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 122 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 122 of file CylinderGeomMicromegas.h
|
inlineoverridevirtual |
Reimplemented from PHG4CylinderGeom.
Definition at line 121 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 121 of file CylinderGeomMicromegas.h
|
private |
drift direction
Definition at line 144 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 144 of file CylinderGeomMicromegas.h
Referenced by get_drift_direction(), identify(), and set_drift_direction().
|
private |
layer id
Definition at line 138 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 138 of file CylinderGeomMicromegas.h
Referenced by get_layer(), identify(), and set_layer().
|
private |
1mm pitch by default
Definition at line 159 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 159 of file CylinderGeomMicromegas.h
Referenced by find_strip_from_local_coords(), get_local_coordinates(), get_pitch(), get_strip_count(), identify(), and set_pitch().
|
private |
layer radius
Definition at line 147 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 147 of file CylinderGeomMicromegas.h
Referenced by check_radius(), get_radius(), identify(), and set_radius().
|
private |
segmentation type
Definition at line 141 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 141 of file CylinderGeomMicromegas.h
Referenced by find_strip_from_local_coords(), get_local_coordinates(), get_segmentation_type(), get_strip_count(), get_strip_length(), identify(), and set_segmentation_type().
|
private |
layer thickness
Definition at line 150 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 150 of file CylinderGeomMicromegas.h
Referenced by check_radius(), find_strip_from_world_coords(), get_thickness(), identify(), and set_thickness().
|
private |
tiles
tiles are only used in "find_tile_cylindrical". For all other methods we use ACTS surfaces instead
Definition at line 166 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 166 of file CylinderGeomMicromegas.h
Referenced by find_strip_from_local_coords(), find_tile_cylindrical(), get_local_coordinates(), get_local_from_world_coords(), get_local_from_world_vect(), get_strip_count(), get_strip_length(), get_tile(), get_tiles_count(), get_world_from_local_coords(), get_world_from_local_vect(), and set_tiles().
|
private |
layer z extend
Definition at line 156 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 156 of file CylinderGeomMicromegas.h
Referenced by get_zmax(), identify(), and set_zmax().
|
private |
layer z extend
Definition at line 153 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 153 of file CylinderGeomMicromegas.h
Referenced by get_zmin(), identify(), and set_zmin().
|
static |
reference radius used in macro to convert tile size in azimuth into a angle range (cm)
Definition at line 112 of file CylinderGeomMicromegas.h.
View newest version in sPHENIX GitHub at line 112 of file CylinderGeomMicromegas.h
Referenced by PHG4MicromegasDetector::setup_tiles().