Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHTpcClusterMover Class Reference

#include <coresoftware/blob/master/offline/packages/trackreco/PHTpcClusterMover.h>

+ Inheritance diagram for PHTpcClusterMover:
+ Collaboration diagram for PHTpcClusterMover:

Public Member Functions

 PHTpcClusterMover (const std::string &name="PHTpcClusterMover")
 Tracking includes.
 
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)
 
int get_circle_circle_intersection (double target_radius, double R, double X0, double Y0, double xref, double yref, double &x, double &y)
 

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
 
PHG4TpcCylinderGeomContainer_tpc_geom_container = nullptr
 
SvtxTrackMap_track_map {nullptr}
 
SvtxTrack_track {nullptr}
 
TrkrClusterContainer_cluster_map {nullptr}
 
TrkrClusterContainer_corrected_cluster_map {nullptr}
 
ActsGeometry_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 = std::numeric_limits<int>::max() - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 30 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 30 of file PHTpcClusterMover.h

Constructor & Destructor Documentation

PHTpcClusterMover::PHTpcClusterMover ( const std::string &  name = "PHTpcClusterMover")

Tracking includes.

Definition at line 33 of file PHTpcClusterMover.cc.

View newest version in sPHENIX GitHub at line 33 of file PHTpcClusterMover.cc

Member Function Documentation

int PHTpcClusterMover::End ( PHCompositeNode )
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.

int PHTpcClusterMover::get_circle_circle_intersection ( double  target_radius,
double  R,
double  X0,
double  Y0,
double  xref,
double  yref,
double x,
double y 
)
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, TrackFitUtils::circle_circle_intersection(), Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHTpcClusterMover::GetNodes ( PHCompositeNode topNode)
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, _tGeometry, _tpc_geom_container, _track_map, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::ABORTRUN, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHWHERE, and TrkrClusterContainer::Reset().

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHTpcClusterMover::InitRun ( PHCompositeNode )
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 38 of file PHTpcClusterMover.cc.

View newest version in sPHENIX GitHub at line 38 of file PHTpcClusterMover.cc

References _tpc_geom_container, Fun4AllReturnCodes::EVENT_OK, PHG4TpcCylinderGeom::get_radius(), PHG4TpcCylinderGeomContainer::GetLayerCellGeom(), GetNodes(), layer, and layer_radius.

+ Here is the call graph for this function:

int PHTpcClusterMover::process_event ( PHCompositeNode )
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, _tGeometry, _track, _track_map, _x_proj, _x_start, _y_proj, _y_start, _z_proj, _z_start, A, Fun4AllReturnCodes::ABORTEVENT, TrkrClusterContainer::addClusterSpecifyKey(), SvtxTrackMap::begin(), SvtxTrack::begin_cluster_keys(), TrackFitUtils::circle_fit_by_taubin(), Acts::UnitConstants::cm, TrkrClusterv3::CopyFrom(), SvtxTrackMap::end(), SvtxTrack::end_cluster_keys(), Fun4AllReturnCodes::EVENT_OK, TrkrClusterContainer::findCluster(), ActsGeometry::geometry(), get_circle_circle_intersection(), TpcDistortionCorrection::get_corrected_position(), SvtxTrack::get_phi(), ActsGeometry::get_tpc_surface_from_coords(), ActsTrackingGeometry::getGeoContext(), ActsGeometry::getGlobalPosition(), TrkrDefs::getHitSetKeyFromClusKey(), TrkrDefs::getLayer(), TrkrDefs::getTrkrId(), layer, layer_radius, TrackFitUtils::line_fit(), PHWHERE, Acts::IntegrationTest::R, SvtxTrackMap::size(), writeMapConfig::surface, TrkrDefs::tpcId, Fun4AllBase::Verbosity(), X0, and Y0.

+ Here is the call graph for this function:

Member Data Documentation

TrkrClusterContainer* PHTpcClusterMover::_cluster_map {nullptr}
private

Definition at line 66 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 66 of file PHTpcClusterMover.h

Referenced by GetNodes(), and process_event().

TrkrClusterContainer* PHTpcClusterMover::_corrected_cluster_map {nullptr}
private

Definition at line 67 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 67 of file PHTpcClusterMover.h

Referenced by GetNodes(), and process_event().

TpcDistortionCorrectionContainer* PHTpcClusterMover::_dcc {nullptr}
private

Definition at line 69 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 69 of file PHTpcClusterMover.h

Referenced by GetNodes(), and process_event().

TpcDistortionCorrection PHTpcClusterMover::_distortionCorrection
private

tpc distortion correction utility class

Definition at line 50 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 50 of file PHTpcClusterMover.h

Referenced by process_event().

ActsGeometry* PHTpcClusterMover::_tGeometry {nullptr}
private

Definition at line 68 of file PHTpcClusterMover.h.

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

Referenced by GetNodes(), and process_event().

PHG4TpcCylinderGeomContainer* PHTpcClusterMover::_tpc_geom_container = nullptr
private

Definition at line 62 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 62 of file PHTpcClusterMover.h

Referenced by GetNodes(), and InitRun().

SvtxTrack* PHTpcClusterMover::_track {nullptr}
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().

SvtxTrackMap* PHTpcClusterMover::_track_map {nullptr}
private

Definition at line 64 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 64 of file PHTpcClusterMover.h

Referenced by GetNodes(), and process_event().

ActsTransformations PHTpcClusterMover::_transformer
private

acts transformation object

Definition at line 47 of file PHTpcClusterMover.h.

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

double PHTpcClusterMover::_x_proj =0.0
private

Definition at line 58 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 58 of file PHTpcClusterMover.h

Referenced by process_event().

double PHTpcClusterMover::_x_start =0.0
private

Definition at line 54 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 54 of file PHTpcClusterMover.h

Referenced by process_event().

double PHTpcClusterMover::_y_proj =0.0
private

Definition at line 57 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 57 of file PHTpcClusterMover.h

Referenced by process_event().

double PHTpcClusterMover::_y_start =0.0
private

Definition at line 53 of file PHTpcClusterMover.h.

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

Referenced by process_event().

double PHTpcClusterMover::_z_proj =0.0
private

Definition at line 56 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 56 of file PHTpcClusterMover.h

Referenced by process_event().

double PHTpcClusterMover::_z_start =0.0
private

Definition at line 52 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 52 of file PHTpcClusterMover.h

Referenced by process_event().

double PHTpcClusterMover::inner_tpc_min_radius = 30.0
private

Definition at line 72 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 72 of file PHTpcClusterMover.h

double PHTpcClusterMover::inner_tpc_spacing = 0.0
private

Definition at line 77 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 77 of file PHTpcClusterMover.h

double PHTpcClusterMover::layer_radius[48] = {0}
private

Definition at line 71 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 71 of file PHTpcClusterMover.h

Referenced by InitRun(), and process_event().

double PHTpcClusterMover::mid_tpc_min_radius = 40.0
private

Definition at line 73 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 73 of file PHTpcClusterMover.h

double PHTpcClusterMover::mid_tpc_spacing = 0.0
private

Definition at line 78 of file PHTpcClusterMover.h.

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

double PHTpcClusterMover::outer_tpc_max_radius = 77.0
private

Definition at line 75 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 75 of file PHTpcClusterMover.h

double PHTpcClusterMover::outer_tpc_min_radius = 60.0
private

Definition at line 74 of file PHTpcClusterMover.h.

View newest version in sPHENIX GitHub at line 74 of file PHTpcClusterMover.h

double PHTpcClusterMover::outer_tpc_spacing = 0.0
private

Definition at line 79 of file PHTpcClusterMover.h.

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


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