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

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

+ Inheritance diagram for MakeActsGeometry:
+ Collaboration diagram for MakeActsGeometry:

Public Member Functions

 MakeActsGeometry (const std::string &name="MakeActsGeometry")
 Default constructor.
 
 ~MakeActsGeometry () override=default
 Destructor.
 
int Init (PHCompositeNode *topNode) override
 
int InitRun (PHCompositeNode *topNode) override
 
void loadMagField (const bool field)
 
void setMagField (const std::string &magField)
 
void setMagFieldRescale (double magFieldRescale)
 
void setMvtxDev (double array[6])
 
void setInttDev (double array[6])
 
void setTpcDev (double array[6])
 
void setMmDev (double array[6])
 
void misalignmentFactor (uint8_t layer, const double misalignment)
 
double getSurfStepPhi ()
 
double getSurfStepZ ()
 
void set_drift_velocity (double vd)
 
void set_nSurfPhi (unsigned int value)
 
void set_intt_survey (bool surv)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing.
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int process_event (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 buildAllGeometry (PHCompositeNode *topNode)
 Main function to build all acts geometry for use in the fitting modules.
 
int getNodes (PHCompositeNode *)
 Get all the nodes.
 
int createNodes (PHCompositeNode *)
 Create New nodes.
 
void setPlanarSurfaceDivisions ()
 Functions to edit TGeoManager to include TPC boxes.
 
void editTPCGeometry (PHCompositeNode *topNode)
 
void addActsTpcSurfaces (TGeoVolume *tpc_gas_vol, TGeoManager *geoManager)
 
void buildActsSurfaces ()
 Silicon layers made by BuildSiliconLayers and its helper functions.
 
void makeGeometry (int argc, char *argv[], ActsExamples::TGeoDetectorWithOptions &detector)
 Function that mimics ActsExamples::GeometryExampleBase.
 
std::pair< std::shared_ptr
< const Acts::TrackingGeometry >
, std::vector< std::shared_ptr
< ActsExamples::IContextDecorator > > > 
build (const boost::program_options::variables_map &vm, ActsExamples::TGeoDetectorWithOptions &detector)
 
void readTGeoLayerBuilderConfigsFile (const std::string &path, ActsExamples::TGeoDetector::Config &config)
 
void setMaterialResponseFile (std::string &responseFile, std::string &materialFile)
 
void getInttKeyFromNode (TGeoNode *gnode)
 Get hitsetkey from TGeoNode for each detector geometry.
 
void getMvtxKeyFromNode (TGeoNode *gnode)
 
void getTpcKeyFromNode (TGeoNode *gnode)
 
void makeMvtxMapPairs (TrackingVolumePtr &mvtxVolume)
 
void makeInttMapPairs (TrackingVolumePtr &inttVolume)
 
void makeTpcMapPairs (TrackingVolumePtr &tpcVolume)
 
void makeMmMapPairs (TrackingVolumePtr &tpcVolume)
 bind micromegas surfaces to hitset id
 
TrkrDefs::hitsetkey getMvtxHitSetKeyFromCoords (unsigned int layer, std::vector< double > &world)
 Get subdetector hitsetkey from the local sensor unit coordinates.
 
TrkrDefs::hitsetkey getInttHitSetKeyFromCoords (unsigned int layer, std::vector< double > &world)
 
TrkrDefs::hitsetkey getTpcHitSetKeyFromCoords (std::vector< double > &world)
 
void unpackVolumes ()
 

Private Attributes

PHG4CylinderGeomContainerm_geomContainerMvtx = nullptr
 Subdetector geometry containers for getting layer information.
 
PHG4CylinderGeomContainerm_geomContainerIntt = nullptr
 
PHG4CylinderGeomContainerm_geomContainerMicromegas = nullptr
 
PHG4TpcCylinderGeomContainerm_geomContainerTpc = nullptr
 
TGeoManager * m_geoManager = nullptr
 
bool m_inttSurvey = false
 
bool m_useField = true
 
std::map< uint8_t, doublem_misalignmentFactor
 
std::map< TrkrDefs::hitsetkey,
TGeoNode * > 
m_clusterNodeMap
 Several maps that connect Acts world to sPHENIX G4 world.
 
std::map< TrkrDefs::hitsetkey,
Surface
m_clusterSurfaceMapSilicon
 
std::map< unsigned int,
std::vector< Surface > > 
m_clusterSurfaceMapTpcEdit
 
std::map< TrkrDefs::hitsetkey,
Surface
m_clusterSurfaceMapMmEdit
 
double m_minSurfZ = 0.
 TPC Acts::Surface subdivisions.
 
double m_maxSurfZ = 105.42
 
unsigned int m_nSurfZ = 1
 
unsigned int m_nSurfPhi = 12
 
double m_surfStepPhi = 0
 
double m_surfStepZ = 0
 
double m_moduleStepPhi = 0
 
double m_modulePhiStart = 0
 
int nprint_tpc = 0
 Debugger for printing out tpc active volumes.
 
double m_layerRadius [m_nTpcLayers] = {0}
 
double m_layerThickness [m_nTpcLayers] = {0}
 
const double half_width_clearance_thick = 0.4999
 
const double half_width_clearance_phi = 0.4999
 
const double half_width_clearance_z = 0.5
 z does not need spacing as the boxes are rotated around the z axis
 
ActsExamples::TGeoDetectorWithOptions m_detector
 The acts geometry object.
 
TrackingGeometry m_tGeometry
 Acts geometry objects that are needed to create (for example) the fitter.
 
std::shared_ptr
< Acts::MagneticFieldProvider
m_magneticField
 
Acts::GeometryContext m_geoCtxt
 
ActsGeometrym_actsGeometry = nullptr
 Structs to put on the node tree which carry around ActsGeom info.
 
int m_verbosity = 0
 Verbosity value handed from PHActsSourceLinks.
 
double m_drift_velocity = 8.0e-03
 
std::string m_magField ="1.4"
 Magnetic field components to set Acts magnetic field.
 
double m_magFieldRescale = -1.
 
double m_mvtxDevs [6] = {0}
 
double m_inttDevs [6] = {0}
 
double m_tpcDevs [6] = {0}
 
double m_mmDevs [6] = {0}
 
bool mvtxParam = false
 
bool inttParam = false
 
bool tpcParam = false
 
bool mmParam = false
 

Static Private Attributes

static constexpr unsigned int m_nTpcLayers = 48
 These don't change, we are building the tpc this way!
 
static constexpr unsigned int m_nTpcModulesPerLayer = 12
 
static constexpr unsigned int m_nTpcSides = 2
 
static const int m_nTpcSectors = 3
 TPC TGeoManager editing box surfaces subdivisions.
 

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

This class is responsible for building the ActsGeometry from the sPHENIX TGeometry. The code largely follows examples within the ACTFW code, specifically GeometryExampleBase.cpp. This class puts several nodes on the node tree which relate Acts::Surfaces to sPHENIX TGeo objects, for use in building Acts SourceLinks.

Definition at line 58 of file MakeActsGeometry.h.

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

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 116 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 116 of file MakeActsGeometry.cc

References layer, and m_misalignmentFactor.

MakeActsGeometry::~MakeActsGeometry ( )
overridedefault

Destructor.

Member Function Documentation

void MakeActsGeometry::addActsTpcSurfaces ( TGeoVolume *  tpc_gas_vol,
TGeoManager *  geoManager 
)
private

Definition at line 352 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 352 of file MakeActsGeometry.cc

References assert, double(), half_width_clearance_phi, half_width_clearance_thick, half_width_clearance_z, m_layerRadius, m_layerThickness, m_modulePhiStart, m_moduleStepPhi, m_nSurfPhi, m_nSurfZ, m_nTpcLayers, m_nTpcModulesPerLayer, m_surfStepPhi, m_surfStepZ, and Fun4AllBase::Verbosity().

Referenced by editTPCGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::pair< std::shared_ptr< const Acts::TrackingGeometry >, std::vector< std::shared_ptr< ActsExamples::IContextDecorator > > > MakeActsGeometry::build ( const boost::program_options::variables_map &  vm,
ActsExamples::TGeoDetectorWithOptions detector 
)
private

Return the geometry and context decorators

Definition at line 608 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 608 of file MakeActsGeometry.cc

References filter::config, ActsExamples::TGeoDetector::Config::elementFactory, Acts::Logging::FATAL, ActsExamples::TGeoDetector::Config::fileName, ActsExamples::TGeoDetector::finalize(), ActsExamples::TGeoDetector::Config::layerLogLevel, ActsExamples::TGeoDetectorWithOptions::m_detector, material_mapping_optimisation::matDeco, path, readTGeoLayerBuilderConfigsFile(), sPHENIXElementFactory(), ActsExamples::TGeoDetector::Config::surfaceLogLevel, and ActsExamples::TGeoDetector::Config::volumeLogLevel.

Referenced by makeGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::buildActsSurfaces ( )
private

Silicon layers made by BuildSiliconLayers and its helper functions.

Builds silicon layers and TPC geometry in the ACTS surface world

Alter args if using field map

Definition at line 453 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 453 of file MakeActsGeometry.cc

References CDBInterface::getUrl(), i, CDBInterface::instance(), m_detector, m_magField, m_magFieldRescale, makeGeometry(), PHWHERE, setMaterialResponseFile(), strdup(), to_string(), and Fun4AllBase::Verbosity().

Referenced by buildAllGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MakeActsGeometry::buildAllGeometry ( PHCompositeNode topNode)
private

Main function to build all acts geometry for use in the fitting modules.

Add the TPC surfaces to the copy of the TGeoManager.

Export the new geometry to a root file for examination

Run Acts layer builder

Create a map of sensor TGeoNode pointers using the TrkrDefs:: hitsetkey as the key

Definition at line 201 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 201 of file MakeActsGeometry.cc

References Fun4AllReturnCodes::ABORTEVENT, buildActsSurfaces(), createNodes(), editTPCGeometry(), Fun4AllReturnCodes::EVENT_OK, PHGeomUtility::ExportGeomtry(), getNodes(), setPlanarSurfaceDivisions(), and Fun4AllBase::Verbosity().

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MakeActsGeometry::createNodes ( PHCompositeNode topNode)
private

Create New nodes.

Get the DST Node

Check that it is there

Get the tracking subnode

Check that it is there

Definition at line 1486 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1486 of file MakeActsGeometry.cc

References PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), and m_actsGeometry.

Referenced by buildAllGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::editTPCGeometry ( PHCompositeNode topNode)
private

Reset the geometry node, which we will recreate with the TPC edits

Make a check for the fake surfaces. If we have more than 0 then we've built the fake surfaces and we should not do it again

Definition at line 237 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 237 of file MakeActsGeometry.cc

References addActsTpcSurfaces(), assert, PHGeomIOTGeo::ConstructTGeoManager(), PHGeomUtility::GetGeomIOTGeoNode(), PHGeomUtility::GetGeomTGeoNode(), i, PHGeomTGeo::isValid(), PHGeomIOTGeo::isValid(), PHGeomTGeo::Reset(), PHGeomTGeo::SetGeometry(), PHGeomUtility::UpdateIONode(), and Fun4AllBase::Verbosity().

Referenced by buildAllGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TrkrDefs::hitsetkey MakeActsGeometry::getInttHitSetKeyFromCoords ( unsigned int  layer,
std::vector< double > &  world 
)
private

Definition at line 1111 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1111 of file MakeActsGeometry.cc

References CylinderGeomIntt::find_indices_from_segment_center(), InttDefs::genHitSetKey(), PHG4CylinderGeomContainer::GetLayerGeom(), m_geomContainerIntt, and PHWHERE.

Referenced by makeInttMapPairs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::getInttKeyFromNode ( TGeoNode *  gnode)
private

Get hitsetkey from TGeoNode for each detector geometry.

Definition at line 1224 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1224 of file MakeActsGeometry.cc

References InttDefs::genHitSetKey(), i, layer, m_clusterNodeMap, PHWHERE, Acts::Test::pos, physmon_simulation::s, Acts::Test::tmp(), token, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

TrkrDefs::hitsetkey MakeActsGeometry::getMvtxHitSetKeyFromCoords ( unsigned int  layer,
std::vector< double > &  world 
)
private

Get subdetector hitsetkey from the local sensor unit coordinates.

Definition at line 1089 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1089 of file MakeActsGeometry.cc

References MvtxDefs::genHitSetKey(), CylinderGeom_Mvtx::get_sensor_indices_from_world_coords(), PHG4CylinderGeomContainer::GetLayerGeom(), m_geomContainerMvtx, and PHWHERE.

Referenced by makeMvtxMapPairs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::getMvtxKeyFromNode ( TGeoNode *  gnode)
private

Definition at line 1303 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1303 of file MakeActsGeometry.cc

References MvtxDefs::genHitSetKey(), i, layer, m_clusterNodeMap, Acts::Test::pos, physmon_simulation::s, Acts::Test::tmp(), token, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

int MakeActsGeometry::getNodes ( PHCompositeNode topNode)
private

Get all the nodes.

Definition at line 1528 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1528 of file MakeActsGeometry.cc

References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, findNode::getClass(), PHGeomUtility::GetTGeoManager(), Fun4AllServer::instance(), m_geoManager, m_geomContainerIntt, m_geomContainerMicromegas, m_geomContainerMvtx, m_geomContainerTpc, and PHWHERE.

Referenced by buildAllGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double MakeActsGeometry::getSurfStepPhi ( )
inline

Definition at line 134 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 134 of file MakeActsGeometry.h

References m_surfStepPhi.

double MakeActsGeometry::getSurfStepZ ( )
inline

Definition at line 135 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 135 of file MakeActsGeometry.h

References m_surfStepZ.

TrkrDefs::hitsetkey MakeActsGeometry::getTpcHitSetKeyFromCoords ( std::vector< double > &  world)
private

Definition at line 1019 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1019 of file MakeActsGeometry.cc

References Fun4AllReturnCodes::ABORTEVENT, double(), TpcDefs::genHitSetKey(), layer, m_layerRadius, m_layerThickness, m_modulePhiStart, m_moduleStepPhi, m_nTpcLayers, m_nTpcModulesPerLayer, PHWHERE, and Fun4AllBase::Verbosity().

Referenced by makeTpcMapPairs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::getTpcKeyFromNode ( TGeoNode *  gnode)
private

Definition at line 1299 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1299 of file MakeActsGeometry.cc

int MakeActsGeometry::Init ( PHCompositeNode )
overridevirtual

Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).

Reimplemented from SubsysReco.

Definition at line 125 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 125 of file MakeActsGeometry.cc

References Fun4AllReturnCodes::EVENT_OK.

int MakeActsGeometry::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.

Set the actsGeometry struct to be put on the node tree

Reimplemented from SubsysReco.

Definition at line 131 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 131 of file MakeActsGeometry.cc

References Fun4AllReturnCodes::ABORTEVENT, buildAllGeometry(), AlignmentTransformation::createAlignmentTransformContainer(), Fun4AllReturnCodes::EVENT_OK, ActsTrackingGeometry::getGeoContext(), inttParam, layer, m_actsGeometry, m_clusterNodeMap, m_clusterSurfaceMapMmEdit, m_clusterSurfaceMapSilicon, m_clusterSurfaceMapTpcEdit, m_drift_velocity, m_geoCtxt, m_geomContainerTpc, m_inttDevs, m_inttSurvey, m_magneticField, ActsSurfaceMaps::m_micromegasVolumeIds, m_misalignmentFactor, m_mmDevs, ActsSurfaceMaps::m_mmSurfaceMap, m_mvtxDevs, ActsSurfaceMaps::m_siliconSurfaceMap, m_surfStepPhi, m_surfStepZ, m_tGeometry, ActsSurfaceMaps::m_tGeoNodeMap, m_tpcDevs, ActsSurfaceMaps::m_tpcSurfaceMap, ActsSurfaceMaps::m_tpcVolumeIds, ActsTrackingGeometry::magField, mmParam, mvtxParam, ActsGeometry::set_drift_velocity(), ActsGeometry::setGeometry(), ActsGeometry::setSurfMaps(), writeMapConfig::surface, ActsTrackingGeometry::tGeometry, tpcParam, ActsTrackingGeometry::tpcSurfStepPhi, ActsTrackingGeometry::tpcSurfStepZ, digitization_config::trackingGeometry, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void MakeActsGeometry::loadMagField ( const bool  field)
inline

Definition at line 71 of file MakeActsGeometry.h.

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

References ckf::field, and m_useField.

Referenced by ACTSGEOM::ActsGeomInit().

+ Here is the caller graph for this function:

void MakeActsGeometry::makeGeometry ( int  argc,
char *  argv[],
ActsExamples::TGeoDetectorWithOptions detector 
)
private

Function that mimics ActsExamples::GeometryExampleBase.

setup and parse options

Add specific options for this geometry

The geometry, material and decoration

Geometry is a pair of (tgeoTrackingGeometry, tgeoContextDecorators)

Definition at line 574 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 574 of file MakeActsGeometry.cc

References ActsExamples::Options::addGeometryOptions(), ActsExamples::Options::addMagneticFieldOptions(), ActsExamples::Options::addMaterialOptions(), ActsExamples::TGeoDetectorWithOptions::addOptions(), build(), Acts::Test::geometry, m_geoCtxt, m_magneticField, m_tGeometry, m_useField, ActsExamples::Options::parse(), ActsExamples::Options::readMagneticField(), and unpackVolumes().

Referenced by buildActsSurfaces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::makeInttMapPairs ( TrackingVolumePtr inttVolume)
private

The Acts geometry builder combines layers 4 and 5 together, and layers 6 and 7 together. We need to use the radius to figure out which layer to use to get the layergeom

Definition at line 860 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 860 of file MakeActsGeometry.cc

References getInttHitSetKeyFromCoords(), InttDefs::getLadderPhiId(), InttDefs::getLadderZId(), i, j, layer, m_clusterSurfaceMapSilicon, m_geoCtxt, surf(), Acts::Test::tmp(), and Fun4AllBase::Verbosity().

Referenced by unpackVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::makeMmMapPairs ( TrackingVolumePtr tpcVolume)
private

bind micromegas surfaces to hitset id

Need to unfold each layer that Acts builds

surfaceVector is a vector of surfaces corresponding to the micromegas layer that acts builds

convert to cm

Definition at line 786 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 786 of file MakeActsGeometry.cc

References assert, Acts::UnitConstants::cm, CylinderGeomMicromegas::find_tile_cylindrical(), MicromegasDefs::genHitSetKey(), PHG4CylinderGeomContainer::get_begin_end(), QAG4Util::get_r(), CylinderGeomMicromegas::get_segmentation_type(), i, j, layer, m_clusterSurfaceMapMmEdit, m_geoCtxt, m_geomContainerMicromegas, writeMapConfig::surface, and Fun4AllBase::Verbosity().

Referenced by unpackVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::makeMvtxMapPairs ( TrackingVolumePtr mvtxVolume)
private

Make the Surface<–>TrkrDef::hitsetkey map pairs for each of the various subdetectors

Definition at line 938 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 938 of file MakeActsGeometry.cc

References MvtxDefs::getChipId(), getMvtxHitSetKeyFromCoords(), MvtxDefs::getStaveId(), i, j, layer, m_clusterSurfaceMapSilicon, m_geoCtxt, surf(), Acts::Test::tmp(), and Fun4AllBase::Verbosity().

Referenced by unpackVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::makeTpcMapPairs ( TrackingVolumePtr tpcVolume)
private

Need to unfold each layer that Acts builds

surfaceVector is a vector of surfaces corresponding to the tpc layer that acts builds

convert to cm

If there is already an entry for this hitsetkey, add the surface to its corresponding vector

Otherwise make a new map entry

Definition at line 728 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 728 of file MakeActsGeometry.cc

References TrkrDefs::getLayer(), getTpcHitSetKeyFromCoords(), i, j, layer, m_clusterSurfaceMapTpcEdit, m_geoCtxt, surf(), Acts::Test::tmp(), and Fun4AllBase::Verbosity().

Referenced by unpackVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::misalignmentFactor ( uint8_t  layer,
const double  misalignment 
)
inline

Definition at line 124 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 124 of file MakeActsGeometry.h

References it, and m_misalignmentFactor.

Referenced by ACTSGEOM::ActsGeomInit().

+ Here is the caller graph for this function:

void MakeActsGeometry::readTGeoLayerBuilderConfigsFile ( const std::string &  path,
ActsExamples::TGeoDetector::Config config 
)
private

Definition at line 648 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 648 of file MakeActsGeometry.cc

References ActsExamples::TGeoDetector::Config::beamPipeHalflengthZ, ActsExamples::TGeoDetector::Config::beamPipeLayerThickness, ActsExamples::TGeoDetector::Config::beamPipeRadius, ActsExamples::TGeoDetector::Config::buildBeamPipe, in, infile, ActsExamples::TGeoDetector::Config::unitScalor, and ActsExamples::TGeoDetector::Config::volumes.

Referenced by build().

+ Here is the caller graph for this function:

void MakeActsGeometry::set_drift_velocity ( double  vd)
inline

Definition at line 137 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 137 of file MakeActsGeometry.h

References m_drift_velocity.

Referenced by ACTSGEOM::ActsGeomInit().

+ Here is the caller graph for this function:

void MakeActsGeometry::set_intt_survey ( bool  surv)
inline

Definition at line 141 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 141 of file MakeActsGeometry.h

References m_inttSurvey.

void MakeActsGeometry::set_nSurfPhi ( unsigned int  value)
inline

Definition at line 139 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 139 of file MakeActsGeometry.h

References m_nSurfPhi, and value.

void MakeActsGeometry::setInttDev ( double  array[6])
inline

Definition at line 89 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 89 of file MakeActsGeometry.h

References inttParam, and m_inttDevs.

void MakeActsGeometry::setMagField ( const std::string &  magField)
inline

Definition at line 72 of file MakeActsGeometry.h.

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

References m_magField.

Referenced by ACTSGEOM::ActsGeomInit().

+ Here is the caller graph for this function:

void MakeActsGeometry::setMagFieldRescale ( double  magFieldRescale)
inline

Definition at line 74 of file MakeActsGeometry.h.

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

References m_magFieldRescale.

Referenced by ACTSGEOM::ActsGeomInit().

+ Here is the caller graph for this function:

void MakeActsGeometry::setMaterialResponseFile ( std::string &  responseFile,
std::string &  materialFile 
)
private

Check to see if files exist locally - if not, use defaults

Definition at line 530 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 530 of file MakeActsGeometry.cc

References assert, file, and Fun4AllBase::Verbosity().

Referenced by buildActsSurfaces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::setMmDev ( double  array[6])
inline

Definition at line 111 of file MakeActsGeometry.h.

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

References m_mmDevs, and mmParam.

void MakeActsGeometry::setMvtxDev ( double  array[6])
inline

Definition at line 78 of file MakeActsGeometry.h.

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

References m_mvtxDevs, and mvtxParam.

void MakeActsGeometry::setPlanarSurfaceDivisions ( )
private

Functions to edit TGeoManager to include TPC boxes.

These are arbitrary tpc subdivisions, and may change Setup how TPC boxes will be built for Acts::Surfaces

Definition at line 1464 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 1464 of file MakeActsGeometry.cc

References double(), PHG4TpcCylinderGeomContainer::get_begin_end(), layer, m_geomContainerTpc, m_layerRadius, m_layerThickness, m_maxSurfZ, m_minSurfZ, m_modulePhiStart, m_moduleStepPhi, m_nSurfPhi, m_nSurfZ, m_nTpcModulesPerLayer, m_surfStepPhi, and m_surfStepZ.

Referenced by buildAllGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MakeActsGeometry::setTpcDev ( double  array[6])
inline

Definition at line 100 of file MakeActsGeometry.h.

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

References m_tpcDevs, and tpcParam.

void MakeActsGeometry::unpackVolumes ( )
private

m_tGeometry is a TrackingGeometry pointer vol is a TrackingVolume pointer

Definition at line 678 of file MakeActsGeometry.cc.

View newest version in sPHENIX GitHub at line 678 of file MakeActsGeometry.cc

References assert, m_clusterSurfaceMapSilicon, m_clusterSurfaceMapTpcEdit, m_tGeometry, makeInttMapPairs(), makeMmMapPairs(), makeMvtxMapPairs(), makeTpcMapPairs(), and Fun4AllBase::Verbosity().

Referenced by makeGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

const double MakeActsGeometry::half_width_clearance_phi = 0.4999
private

Definition at line 251 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 251 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces().

const double MakeActsGeometry::half_width_clearance_thick = 0.4999
private

Definition at line 250 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 250 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces().

const double MakeActsGeometry::half_width_clearance_z = 0.5
private

z does not need spacing as the boxes are rotated around the z axis

Definition at line 253 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 253 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces().

bool MakeActsGeometry::inttParam = false
private

Definition at line 281 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 281 of file MakeActsGeometry.h

Referenced by InitRun(), and setInttDev().

ActsGeometry* MakeActsGeometry::m_actsGeometry = nullptr
private

Structs to put on the node tree which carry around ActsGeom info.

Definition at line 264 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 264 of file MakeActsGeometry.h

Referenced by createNodes(), and InitRun().

std::map<TrkrDefs::hitsetkey, TGeoNode*> MakeActsGeometry::m_clusterNodeMap
private

Several maps that connect Acts world to sPHENIX G4 world.

Definition at line 218 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 218 of file MakeActsGeometry.h

Referenced by getInttKeyFromNode(), getMvtxKeyFromNode(), and InitRun().

std::map<TrkrDefs::hitsetkey, Surface> MakeActsGeometry::m_clusterSurfaceMapMmEdit
private

Definition at line 221 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 221 of file MakeActsGeometry.h

Referenced by InitRun(), and makeMmMapPairs().

std::map<TrkrDefs::hitsetkey, Surface> MakeActsGeometry::m_clusterSurfaceMapSilicon
private

Definition at line 219 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 219 of file MakeActsGeometry.h

Referenced by InitRun(), makeInttMapPairs(), makeMvtxMapPairs(), and unpackVolumes().

std::map<unsigned int, std::vector<Surface> > MakeActsGeometry::m_clusterSurfaceMapTpcEdit
private

Definition at line 220 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 220 of file MakeActsGeometry.h

Referenced by InitRun(), makeTpcMapPairs(), and unpackVolumes().

ActsExamples::TGeoDetectorWithOptions MakeActsGeometry::m_detector
private

The acts geometry object.

Definition at line 256 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 256 of file MakeActsGeometry.h

Referenced by buildActsSurfaces().

double MakeActsGeometry::m_drift_velocity = 8.0e-03
private

Definition at line 269 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 269 of file MakeActsGeometry.h

Referenced by InitRun(), and set_drift_velocity().

Acts::GeometryContext MakeActsGeometry::m_geoCtxt
private

Definition at line 261 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 261 of file MakeActsGeometry.h

Referenced by InitRun(), makeGeometry(), makeInttMapPairs(), makeMmMapPairs(), makeMvtxMapPairs(), and makeTpcMapPairs().

TGeoManager* MakeActsGeometry::m_geoManager = nullptr
private

Definition at line 210 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 210 of file MakeActsGeometry.h

Referenced by getNodes().

PHG4CylinderGeomContainer* MakeActsGeometry::m_geomContainerIntt = nullptr
private

Definition at line 207 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 207 of file MakeActsGeometry.h

Referenced by getInttHitSetKeyFromCoords(), and getNodes().

PHG4CylinderGeomContainer* MakeActsGeometry::m_geomContainerMicromegas = nullptr
private

Definition at line 208 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 208 of file MakeActsGeometry.h

Referenced by getNodes(), and makeMmMapPairs().

PHG4CylinderGeomContainer* MakeActsGeometry::m_geomContainerMvtx = nullptr
private

Subdetector geometry containers for getting layer information.

Definition at line 206 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 206 of file MakeActsGeometry.h

Referenced by getMvtxHitSetKeyFromCoords(), and getNodes().

PHG4TpcCylinderGeomContainer* MakeActsGeometry::m_geomContainerTpc = nullptr
private

Definition at line 209 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 209 of file MakeActsGeometry.h

Referenced by getNodes(), InitRun(), and setPlanarSurfaceDivisions().

double MakeActsGeometry::m_inttDevs[6] = {0}
private

Definition at line 276 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 276 of file MakeActsGeometry.h

Referenced by InitRun(), and setInttDev().

bool MakeActsGeometry::m_inttSurvey = false
private

Definition at line 212 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 212 of file MakeActsGeometry.h

Referenced by InitRun(), and set_intt_survey().

double MakeActsGeometry::m_layerRadius[m_nTpcLayers] = {0}
private

Definition at line 246 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 246 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getTpcHitSetKeyFromCoords(), and setPlanarSurfaceDivisions().

double MakeActsGeometry::m_layerThickness[m_nTpcLayers] = {0}
private

Definition at line 247 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 247 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getTpcHitSetKeyFromCoords(), and setPlanarSurfaceDivisions().

std::string MakeActsGeometry::m_magField ="1.4"
private

Magnetic field components to set Acts magnetic field.

Definition at line 272 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 272 of file MakeActsGeometry.h

Referenced by buildActsSurfaces(), and setMagField().

double MakeActsGeometry::m_magFieldRescale = -1.
private

Definition at line 273 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 273 of file MakeActsGeometry.h

Referenced by buildActsSurfaces(), and setMagFieldRescale().

std::shared_ptr<Acts::MagneticFieldProvider> MakeActsGeometry::m_magneticField
private

Definition at line 260 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 260 of file MakeActsGeometry.h

Referenced by InitRun(), and makeGeometry().

double MakeActsGeometry::m_maxSurfZ = 105.42
private

This value must be less than the TPC gas volume in TGeo, which is 105.22 cm

Definition at line 232 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 232 of file MakeActsGeometry.h

Referenced by setPlanarSurfaceDivisions().

double MakeActsGeometry::m_minSurfZ = 0.
private

TPC Acts::Surface subdivisions.

Definition at line 229 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 229 of file MakeActsGeometry.h

Referenced by setPlanarSurfaceDivisions().

std::map<uint8_t, double> MakeActsGeometry::m_misalignmentFactor
private

Definition at line 215 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 215 of file MakeActsGeometry.h

Referenced by InitRun(), MakeActsGeometry(), and misalignmentFactor().

double MakeActsGeometry::m_mmDevs[6] = {0}
private

Definition at line 278 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 278 of file MakeActsGeometry.h

Referenced by InitRun(), and setMmDev().

double MakeActsGeometry::m_modulePhiStart = 0
private

Definition at line 238 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 238 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getTpcHitSetKeyFromCoords(), and setPlanarSurfaceDivisions().

double MakeActsGeometry::m_moduleStepPhi = 0
private

Definition at line 237 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 237 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getTpcHitSetKeyFromCoords(), and setPlanarSurfaceDivisions().

double MakeActsGeometry::m_mvtxDevs[6] = {0}
private

Definition at line 275 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 275 of file MakeActsGeometry.h

Referenced by InitRun(), and setMvtxDev().

unsigned int MakeActsGeometry::m_nSurfPhi = 12
private

Definition at line 234 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 234 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), set_nSurfPhi(), and setPlanarSurfaceDivisions().

unsigned int MakeActsGeometry::m_nSurfZ = 1
private

Definition at line 233 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 233 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), and setPlanarSurfaceDivisions().

constexpr unsigned int MakeActsGeometry::m_nTpcLayers = 48
staticprivate

These don't change, we are building the tpc this way!

Definition at line 224 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 224 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), and getTpcHitSetKeyFromCoords().

constexpr unsigned int MakeActsGeometry::m_nTpcModulesPerLayer = 12
staticprivate

Definition at line 225 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 225 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getTpcHitSetKeyFromCoords(), and setPlanarSurfaceDivisions().

const int MakeActsGeometry::m_nTpcSectors = 3
staticprivate

TPC TGeoManager editing box surfaces subdivisions.

Definition at line 244 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 244 of file MakeActsGeometry.h

constexpr unsigned int MakeActsGeometry::m_nTpcSides = 2
staticprivate

Definition at line 226 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 226 of file MakeActsGeometry.h

double MakeActsGeometry::m_surfStepPhi = 0
private

Definition at line 235 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 235 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getSurfStepPhi(), InitRun(), and setPlanarSurfaceDivisions().

double MakeActsGeometry::m_surfStepZ = 0
private

Definition at line 236 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 236 of file MakeActsGeometry.h

Referenced by addActsTpcSurfaces(), getSurfStepZ(), InitRun(), and setPlanarSurfaceDivisions().

TrackingGeometry MakeActsGeometry::m_tGeometry
private

Acts geometry objects that are needed to create (for example) the fitter.

Definition at line 259 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 259 of file MakeActsGeometry.h

Referenced by InitRun(), makeGeometry(), and unpackVolumes().

double MakeActsGeometry::m_tpcDevs[6] = {0}
private

Definition at line 277 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 277 of file MakeActsGeometry.h

Referenced by InitRun(), and setTpcDev().

bool MakeActsGeometry::m_useField = true
private

Definition at line 214 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 214 of file MakeActsGeometry.h

Referenced by loadMagField(), and makeGeometry().

int MakeActsGeometry::m_verbosity = 0
private

Verbosity value handed from PHActsSourceLinks.

Definition at line 267 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 267 of file MakeActsGeometry.h

bool MakeActsGeometry::mmParam = false
private

Definition at line 283 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 283 of file MakeActsGeometry.h

Referenced by InitRun(), and setMmDev().

bool MakeActsGeometry::mvtxParam = false
private

Definition at line 280 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 280 of file MakeActsGeometry.h

Referenced by InitRun(), and setMvtxDev().

int MakeActsGeometry::nprint_tpc = 0
private

Debugger for printing out tpc active volumes.

Definition at line 241 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 241 of file MakeActsGeometry.h

bool MakeActsGeometry::tpcParam = false
private

Definition at line 282 of file MakeActsGeometry.h.

View newest version in sPHENIX GitHub at line 282 of file MakeActsGeometry.h

Referenced by InitRun(), and setTpcDev().


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