ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/offline/packages/trackreco/PHTpcClusterMover.h>
Public Member Functions | |
PHTpcClusterMover (const std::string &name="PHTpcClusterMover") | |
Tracking includes. | |
~PHTpcClusterMover () override | |
int | InitRun (PHCompositeNode *topNode) override |
int | process_event (PHCompositeNode *topNode) override |
int | End (PHCompositeNode *topNode) override |
Called at the end of all processing. | |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
virtual int | Init (PHCompositeNode *) |
virtual int | Reset (PHCompositeNode *) |
Reset. | |
virtual int | ResetEvent (PHCompositeNode *) |
Clean up after each event. | |
void | Print (const std::string &="ALL") const override |
Public Member Functions inherited from Fun4AllBase | |
virtual | ~Fun4AllBase () |
virtual const std::string | Name () const |
Returns the name of this module. | |
virtual void | Name (const std::string &name) |
Sets the name of this module. | |
virtual void | Verbosity (const int ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual void | Verbosity (enu_Verbosity ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual int | Verbosity () const |
Gets the verbosity of this module. | |
Private Member Functions | |
int | GetNodes (PHCompositeNode *topNode) |
void | CircleFitByTaubin (std::vector< Acts::Vector3D > clusters, double &R, double &X0, double &Y0) |
void | circle_circle_intersection (double r1, double r2, double x2, double y2, double &xplus, double &yplus, double &xminus, double &yminus) |
void | line_fit (std::vector< Acts::Vector3D > clusters, double &a, double &b) |
int | get_circle_circle_intersection (double target_radius, double R, double X0, double Y0, double xref, double yref, double &x, double &y) |
Surface | get_tpc_surface_from_coords (TrkrDefs::hitsetkey hitsetkey, Acts::Vector3D world, ActsSurfaceMaps *surfMaps, ActsTrackingGeometry *tGeometry, TrkrDefs::subsurfkey &subsurfkey) |
Private Attributes | |
ActsTransformations | _transformer |
acts transformation object | |
TpcDistortionCorrection | _distortionCorrection |
tpc distortion correction utility class | |
double | _z_start =0.0 |
double | _y_start =0.0 |
double | _x_start =0.0 |
double | _z_proj =0.0 |
double | _y_proj =0.0 |
double | _x_proj =0.0 |
SvtxTrackMap * | _track_map {nullptr} |
SvtxTrack * | _track {nullptr} |
TrkrClusterContainer * | _cluster_map {nullptr} |
TrkrClusterContainer * | _corrected_cluster_map {nullptr} |
ActsSurfaceMaps * | _surfmaps {nullptr} |
ActsTrackingGeometry * | _tGeometry {nullptr} |
TpcDistortionCorrectionContainer * | _dcc {nullptr} |
double | layer_radius [48] = {0} |
double | inner_tpc_min_radius = 30.0 |
double | mid_tpc_min_radius = 40.0 |
double | outer_tpc_min_radius = 60.0 |
double | outer_tpc_max_radius = 77.0 |
double | inner_tpc_spacing = 0.0 |
double | mid_tpc_spacing = 0.0 |
double | outer_tpc_spacing = 0.0 |
Additional Inherited Members | |
Public Types inherited from Fun4AllBase | |
enum | enu_Verbosity { VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3, VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10 } |
Protected Member Functions inherited from SubsysReco | |
SubsysReco (const std::string &name="NONAME") | |
Definition at line 30 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 30 of file PHTpcClusterMover.h
PHTpcClusterMover::PHTpcClusterMover | ( | const std::string & | name = "PHTpcClusterMover" | ) |
Tracking includes.
Definition at line 30 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 30 of file PHTpcClusterMover.cc
|
override |
Definition at line 37 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 37 of file PHTpcClusterMover.cc
|
private |
Definition at line 488 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 488 of file PHTpcClusterMover.cc
References a, b, c, D(), x2, and y2.
Referenced by get_circle_circle_intersection().
|
private |
Definition at line 390 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 390 of file PHTpcClusterMover.cc
References A22, A33, Dy, isfinite, Fun4AllBase::Verbosity(), weight, x, and y.
Referenced by process_event().
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 275 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 275 of file PHTpcClusterMover.cc
References Fun4AllReturnCodes::EVENT_OK.
|
private |
Definition at line 356 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 356 of file PHTpcClusterMover.cc
References Fun4AllReturnCodes::ABORTEVENT, circle_circle_intersection(), Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().
Referenced by process_event().
|
private |
Definition at line 541 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 541 of file PHTpcClusterMover.cc
References ActsTrackingGeometry::geoContext, TrkrDefs::getLayer(), int(), G4TTL::layer, M_PI, PHWHERE, round(), ActsSurfaceMaps::tpcSurfaceMap, ActsTrackingGeometry::tpcSurfStepPhi, ActsTrackingGeometry::tpcSurfStepZ, and Fun4AllBase::Verbosity().
Referenced by process_event().
|
private |
Definition at line 280 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 280 of file PHTpcClusterMover.cc
References _cluster_map, _corrected_cluster_map, _dcc, _surfmaps, _tGeometry, _track_map, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::ABORTRUN, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHWHERE, and TrkrClusterContainer::Reset().
Referenced by InitRun().
|
overridevirtual |
Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.
Reimplemented from SubsysReco.
Definition at line 43 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 43 of file PHTpcClusterMover.cc
References Fun4AllReturnCodes::EVENT_OK, GetNodes(), inner_tpc_min_radius, inner_tpc_spacing, layer_radius, mid_tpc_min_radius, mid_tpc_spacing, outer_tpc_max_radius, outer_tpc_min_radius, outer_tpc_spacing, and Fun4AllBase::Verbosity().
|
private |
Definition at line 519 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 519 of file PHTpcClusterMover.cc
Referenced by process_event().
|
overridevirtual |
Called for each event. This is where you do the real work.
If the surface can't be found, we can't track with it. So just continue and don't modify the cluster to the container
otherwise take the manual calculation
Reimplemented from SubsysReco.
Definition at line 72 of file PHTpcClusterMover.cc.
View newest version in sPHENIX GitHub at line 72 of file PHTpcClusterMover.cc
References _cluster_map, _corrected_cluster_map, _dcc, _distortionCorrection, _surfmaps, _tGeometry, _track, _track_map, _transformer, _x_proj, _x_start, _y_proj, _y_start, _z_proj, _z_start, A(), Fun4AllReturnCodes::ABORTEVENT, B(), SvtxTrackMap::begin(), SvtxTrack::begin_cluster_keys(), CircleFitByTaubin(), Acts::UnitConstants::cm, SvtxTrackMap::end(), SvtxTrack::end_cluster_keys(), Fun4AllReturnCodes::EVENT_OK, TrkrClusterContainer::findCluster(), TrkrClusterContainer::findOrAddCluster(), ActsTrackingGeometry::geoContext, get_circle_circle_intersection(), TpcDistortionCorrection::get_corrected_position(), SvtxTrack::get_phi(), get_tpc_surface_from_coords(), TrkrCluster::getActsLocalError(), TrkrCluster::getAdc(), ActsTransformations::getGlobalPosition(), TrkrDefs::getHitSetKeyFromClusKey(), TrkrDefs::getLayer(), TrkrDefs::getTrkrId(), G4TTL::layer, layer_radius, line_fit(), local, CLHEP::normal(), PHWHERE, Acts::IntegrationTest::R, TrkrCluster::setActsLocalError(), TrkrCluster::setAdc(), TrkrCluster::setLocalX(), TrkrCluster::setLocalY(), TrkrCluster::setSubSurfKey(), SvtxTrackMap::size(), surface(), TrkrDefs::tpcId, and Fun4AllBase::Verbosity().
|
private |
Definition at line 77 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 77 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
Definition at line 78 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 78 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
Definition at line 81 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 81 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
tpc distortion correction utility class
Definition at line 63 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 63 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 79 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 79 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
Definition at line 80 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 80 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
Definition at line 76 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 76 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 75 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 75 of file PHTpcClusterMover.h
Referenced by GetNodes(), and process_event().
|
private |
acts transformation object
Definition at line 60 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 60 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 71 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 71 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 67 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 67 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 70 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 70 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 66 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 66 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 69 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 69 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 65 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 65 of file PHTpcClusterMover.h
Referenced by process_event().
|
private |
Definition at line 84 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 84 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 89 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 89 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 83 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 83 of file PHTpcClusterMover.h
Referenced by InitRun(), and process_event().
|
private |
Definition at line 85 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 85 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 90 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 90 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 87 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 87 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 86 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 86 of file PHTpcClusterMover.h
Referenced by InitRun().
|
private |
Definition at line 91 of file PHTpcClusterMover.h.
View newest version in sPHENIX GitHub at line 91 of file PHTpcClusterMover.h
Referenced by InitRun().