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

#include <coresoftware/blob/master/offline/packages/trackbase/AlignmentTransformation.h>

+ Collaboration diagram for AlignmentTransformation:

Public Member Functions

 AlignmentTransformation ()=default
 
 ~AlignmentTransformation ()
 
void createMap (PHCompositeNode *topNode)
 
void createAlignmentTransformContainer (PHCompositeNode *topNode)
 
void generateRandomPerturbations (Eigen::Vector3d angleDev, Eigen::Vector3d transformDev)
 
void setMVTXParams (double mvtxDevs[6])
 
void setINTTParams (double inttDevs[6])
 
void setTPCParams (double tpcDevs[6])
 
void setMMParams (double mmDevs[6])
 
void verbosity ()
 
void misalignmentFactor (uint8_t layer, const double factor)
 
void useInttSurveyGeometry (bool sur)
 

Public Attributes

bool perturbMVTX = false
 
bool perturbINTT = false
 
bool perturbTPC = false
 
bool perturbMM = false
 
Eigen::Vector3d perturbationAngles = Eigen::Vector3d(0.0,0.0,0.0)
 
Eigen::Vector3d perturbationTranslation = Eigen::Vector3d(0.0,0.0,0.0)
 

Private Member Functions

Acts::Transform3 newMakeTransform (Surface surf, Eigen::Vector3d &millepedeTranslation, Eigen::Vector3d &sensorAngles, bool survey)
 
int getNodes (PHCompositeNode *topNode)
 

Private Attributes

Eigen::Vector3d mvtxAngleDev
 
Eigen::Vector3d mvtxTransDev
 
Eigen::Vector3d inttAngleDev
 
Eigen::Vector3d inttTransDev
 
Eigen::Vector3d tpcAngleDev
 
Eigen::Vector3d tpcTransDev
 
Eigen::Vector3d mmAngleDev
 
Eigen::Vector3d mmTransDev
 
std::default_random_engine generator
 
std::string alignmentParamsFile = "./localAlignmentParamsFile.txt"
 
int localVerbosity = 0
 
bool use_global_millepede_translations = true
 
bool use_intt_survey_geometry = false
 
alignmentTransformationContainertransformMap = NULL
 
alignmentTransformationContainertransformMapTransient = NULL
 
ActsGeometrym_tGeometry = NULL
 

Detailed Description

Definition at line 19 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 19 of file AlignmentTransformation.h

Constructor & Destructor Documentation

AlignmentTransformation::AlignmentTransformation ( )
default
AlignmentTransformation::~AlignmentTransformation ( )
inline

Definition at line 24 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 24 of file AlignmentTransformation.h

Member Function Documentation

void AlignmentTransformation::createAlignmentTransformContainer ( PHCompositeNode topNode)

Definition at line 353 of file AlignmentTransformation.cc.

View newest version in sPHENIX GitHub at line 353 of file AlignmentTransformation.cc

References PHCompositeNode::addNode(), PHNodeIterator::findFirst(), transformMap, and transformMapTransient.

Referenced by MakeActsGeometry::InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AlignmentTransformation::generateRandomPerturbations ( Eigen::Vector3d  angleDev,
Eigen::Vector3d  transformDev 
)

Definition at line 383 of file AlignmentTransformation.cc.

View newest version in sPHENIX GitHub at line 383 of file AlignmentTransformation.cc

References generator, localVerbosity, perturbationAngles, and perturbationTranslation.

Referenced by createMap().

+ Here is the caller graph for this function:

int AlignmentTransformation::getNodes ( PHCompositeNode topNode)
private

Definition at line 335 of file AlignmentTransformation.cc.

View newest version in sPHENIX GitHub at line 335 of file AlignmentTransformation.cc

References Fun4AllReturnCodes::ABORTEVENT, and m_tGeometry.

Referenced by createMap().

+ Here is the caller graph for this function:

void AlignmentTransformation::misalignmentFactor ( uint8_t  layer,
const double  factor 
)

Definition at line 349 of file AlignmentTransformation.cc.

View newest version in sPHENIX GitHub at line 349 of file AlignmentTransformation.cc

References alignmentTransformationContainer::setMisalignmentFactor(), and transformMap.

+ Here is the call graph for this function:

Acts::Transform3 AlignmentTransformation::newMakeTransform ( Surface  surf,
Eigen::Vector3d &  millepedeTranslation,
Eigen::Vector3d &  sensorAngles,
bool  survey 
)
private

If we read the survey parameters direcly, that is the full transform

The millepede affines will just be what was read in, which was the survey information. This should (in principle) be equivalent to the ideal position + any misalignment

Otherwise in sim we use the ideal * misalignment transforms

Definition at line 213 of file AlignmentTransformation.cc.

View newest version in sPHENIX GitHub at line 213 of file AlignmentTransformation.cc

References KFPMath::a, alpha, KFPMath::b, Acts::UnitConstants::g, ActsGeometry::geometry(), ActsTrackingGeometry::getGeoContext(), localVerbosity, m_tGeometry, train_ambiguity_solver::test, Acts::Test::transform, and use_global_millepede_translations.

Referenced by createMap().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AlignmentTransformation::setINTTParams ( double  inttDevs[6])
inline

Definition at line 56 of file AlignmentTransformation.h.

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

References inttAngleDev, inttTransDev, localVerbosity, and perturbINTT.

void AlignmentTransformation::setMMParams ( double  mmDevs[6])
inline

Definition at line 88 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 88 of file AlignmentTransformation.h

References localVerbosity, mmAngleDev, mmTransDev, and perturbMM.

void AlignmentTransformation::setMVTXParams ( double  mvtxDevs[6])
inline

Definition at line 39 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 39 of file AlignmentTransformation.h

References localVerbosity, mvtxAngleDev, mvtxTransDev, and perturbMVTX.

void AlignmentTransformation::setTPCParams ( double  tpcDevs[6])
inline

Definition at line 72 of file AlignmentTransformation.h.

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

References localVerbosity, perturbTPC, tpcAngleDev, and tpcTransDev.

void AlignmentTransformation::useInttSurveyGeometry ( bool  sur)
inline

Definition at line 107 of file AlignmentTransformation.h.

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

References use_intt_survey_geometry.

void AlignmentTransformation::verbosity ( )
inline

Definition at line 105 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 105 of file AlignmentTransformation.h

References localVerbosity.

Member Data Documentation

std::string AlignmentTransformation::alignmentParamsFile = "./localAlignmentParamsFile.txt"
private

Definition at line 122 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 122 of file AlignmentTransformation.h

Referenced by createMap().

std::default_random_engine AlignmentTransformation::generator
private

Definition at line 120 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 120 of file AlignmentTransformation.h

Referenced by generateRandomPerturbations().

Eigen::Vector3d AlignmentTransformation::inttAngleDev
private

Definition at line 113 of file AlignmentTransformation.h.

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

Referenced by createMap(), and setINTTParams().

Eigen::Vector3d AlignmentTransformation::inttTransDev
private

Definition at line 114 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 114 of file AlignmentTransformation.h

Referenced by createMap(), and setINTTParams().

int AlignmentTransformation::localVerbosity = 0
private
ActsGeometry* AlignmentTransformation::m_tGeometry = NULL
private

Definition at line 133 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 133 of file AlignmentTransformation.h

Referenced by createMap(), getNodes(), and newMakeTransform().

Eigen::Vector3d AlignmentTransformation::mmAngleDev
private

Definition at line 117 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 117 of file AlignmentTransformation.h

Referenced by createMap(), and setMMParams().

Eigen::Vector3d AlignmentTransformation::mmTransDev
private

Definition at line 118 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 118 of file AlignmentTransformation.h

Referenced by createMap(), and setMMParams().

Eigen::Vector3d AlignmentTransformation::mvtxAngleDev
private

Definition at line 111 of file AlignmentTransformation.h.

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

Referenced by createMap(), and setMVTXParams().

Eigen::Vector3d AlignmentTransformation::mvtxTransDev
private

Definition at line 112 of file AlignmentTransformation.h.

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

Referenced by createMap(), and setMVTXParams().

Eigen::Vector3d AlignmentTransformation::perturbationAngles = Eigen::Vector3d(0.0,0.0,0.0)

Definition at line 36 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 36 of file AlignmentTransformation.h

Referenced by createMap(), and generateRandomPerturbations().

Eigen::Vector3d AlignmentTransformation::perturbationTranslation = Eigen::Vector3d(0.0,0.0,0.0)

Definition at line 37 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 37 of file AlignmentTransformation.h

Referenced by createMap(), and generateRandomPerturbations().

bool AlignmentTransformation::perturbINTT = false

Definition at line 32 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 32 of file AlignmentTransformation.h

Referenced by createMap(), and setINTTParams().

bool AlignmentTransformation::perturbMM = false

Definition at line 34 of file AlignmentTransformation.h.

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

Referenced by createMap(), and setMMParams().

bool AlignmentTransformation::perturbMVTX = false

Definition at line 31 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 31 of file AlignmentTransformation.h

Referenced by createMap(), and setMVTXParams().

bool AlignmentTransformation::perturbTPC = false

Definition at line 33 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 33 of file AlignmentTransformation.h

Referenced by createMap(), and setTPCParams().

Eigen::Vector3d AlignmentTransformation::tpcAngleDev
private

Definition at line 115 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 115 of file AlignmentTransformation.h

Referenced by createMap(), and setTPCParams().

Eigen::Vector3d AlignmentTransformation::tpcTransDev
private

Definition at line 116 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 116 of file AlignmentTransformation.h

Referenced by createMap(), and setTPCParams().

alignmentTransformationContainer* AlignmentTransformation::transformMap = NULL
private

Definition at line 131 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 131 of file AlignmentTransformation.h

Referenced by createAlignmentTransformContainer(), createMap(), and misalignmentFactor().

alignmentTransformationContainer* AlignmentTransformation::transformMapTransient = NULL
private

Definition at line 132 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 132 of file AlignmentTransformation.h

Referenced by createAlignmentTransformContainer(), and createMap().

bool AlignmentTransformation::use_global_millepede_translations = true
private

Definition at line 126 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 126 of file AlignmentTransformation.h

Referenced by createMap(), and newMakeTransform().

bool AlignmentTransformation::use_intt_survey_geometry = false
private

Definition at line 127 of file AlignmentTransformation.h.

View newest version in sPHENIX GitHub at line 127 of file AlignmentTransformation.h

Referenced by createMap(), and useInttSurveyGeometry().


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