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

A mockup service that rotates the modules in a simple tracking geometry. More...

#include <acts/blob/sPHENIX/Examples/Detectors/ContextualDetector/include/ActsExamples/ContextualDetector/ExternalAlignmentDecorator.hpp>

+ Inheritance diagram for ActsExamples::Contextual::ExternalAlignmentDecorator:
+ Collaboration diagram for ActsExamples::Contextual::ExternalAlignmentDecorator:

Classes

struct  Config
 nested configuration struct More...
 

Public Member Functions

 ExternalAlignmentDecorator (const Config &cfg, std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("ExternalAlignmentDecorator", Acts::Logging::INFO))
 
 ~ExternalAlignmentDecorator () override=default
 Virtual destructor.
 
ProcessCode decorate (AlgorithmContext &context) override
 decorates (adds, modifies) the AlgorithmContext with a geometric rotation per event
 
const std::string & name () const override
 decorator name() for screen output
 

Private Member Functions

const Acts::Loggerlogger () const
 Private access to the logging instance.
 
void parseGeometry (const Acts::TrackingGeometry &tGeometry)
 

Private Attributes

Config m_cfg
 the configuration class
 
std::unique_ptr< const
Acts::Logger
m_logger
 
std::string m_name = "ExternalAlignmentDecorator"
 !< the logging instance
 
std::vector< Acts::Transform3m_nominalStore
 Map of nominal transforms.
 
std::unordered_map< unsigned
int, std::shared_ptr
< ExternallyAlignedDetectorElement::AlignmentStore > > 
m_activeIovs
 
std::mutex m_iovMutex
 
size_t m_eventsSeen {0}
 

Additional Inherited Members

- Static Protected Member Functions inherited from ActsExamples::Contextual::AlignmentDecorator
static void applyTransform (Acts::Transform3 &trf, const Config &cfg, RandomEngine &rng, unsigned int iov)
 

Detailed Description

A mockup service that rotates the modules in a simple tracking geometry.

It acts on the PayloadDetectorElement, i.e. the geometry context carries the full transform store (payload)

Definition at line 41 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 41 of file ExternalAlignmentDecorator.hpp

Constructor & Destructor Documentation

ActsExamples::Contextual::ExternalAlignmentDecorator::ExternalAlignmentDecorator ( const Config cfg,
std::unique_ptr< const Acts::Logger logger = Acts::getDefaultLogger(          "ExternalAlignmentDecorator", Acts::Logging::INFO) 
)

Constructor

Parameters
cfgConfiguration struct
loggerThe logging framework

Definition at line 24 of file ExternalAlignmentDecorator.cpp.

View newest version in sPHENIX GitHub at line 24 of file ExternalAlignmentDecorator.cpp

References m_cfg, parseGeometry(), and ActsExamples::Contextual::ExternalAlignmentDecorator::Config::trackingGeometry.

+ Here is the call graph for this function:

ActsExamples::Contextual::ExternalAlignmentDecorator::~ExternalAlignmentDecorator ( )
overridedefault

Virtual destructor.

Member Function Documentation

ActsExamples::ProcessCode ActsExamples::Contextual::ExternalAlignmentDecorator::decorate ( AlgorithmContext context)
overridevirtual

decorates (adds, modifies) the AlgorithmContext with a geometric rotation per event

Note
If decorators depend on each other, they have to be added in order.
Parameters
contextthe bare (or at least non-const) Event context

Implements ActsExamples::IContextDecorator.

Definition at line 34 of file ExternalAlignmentDecorator.cpp.

View newest version in sPHENIX GitHub at line 34 of file ExternalAlignmentDecorator.cpp

References ACTS_DEBUG, ACTS_VERBOSE, assert, ActsExamples::AlgorithmContext::eventNumber, ActsExamples::AlgorithmContext::geoContext, it, m_cfg(), testing::internal::move(), conftest::rng(), utils::status, and SUCCESS.

+ Here is the call graph for this function:

const Acts::Logger& ActsExamples::Contextual::ExternalAlignmentDecorator::logger ( ) const
inlineprivate

Private access to the logging instance.

Definition at line 91 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 91 of file ExternalAlignmentDecorator.hpp

References m_logger.

const std::string& ActsExamples::Contextual::ExternalAlignmentDecorator::name ( ) const
inlineoverridevirtual

decorator name() for screen output

Implements ActsExamples::IContextDecorator.

Definition at line 71 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 71 of file ExternalAlignmentDecorator.hpp

References m_name.

void ActsExamples::Contextual::ExternalAlignmentDecorator::parseGeometry ( const Acts::TrackingGeometry tGeometry)
private

Populate the nominal transforms this parses the TrackingGeometry and fills the nominal store

Parameters
tGeometrythe tracking geometry

Definition at line 99 of file ExternalAlignmentDecorator.cpp.

View newest version in sPHENIX GitHub at line 99 of file ExternalAlignmentDecorator.cpp

References testing::internal::move(), writeMapConfig::surface, and Acts::TrackingGeometry::visitSurfaces().

Referenced by ExternalAlignmentDecorator().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::unordered_map< unsigned int, std::shared_ptr<ExternallyAlignedDetectorElement::AlignmentStore> > ActsExamples::Contextual::ExternalAlignmentDecorator::m_activeIovs
private

Definition at line 84 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 84 of file ExternalAlignmentDecorator.hpp

Config ActsExamples::Contextual::ExternalAlignmentDecorator::m_cfg
private

the configuration class

Definition at line 74 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 74 of file ExternalAlignmentDecorator.hpp

Referenced by ExternalAlignmentDecorator().

size_t ActsExamples::Contextual::ExternalAlignmentDecorator::m_eventsSeen {0}
private

Definition at line 88 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 88 of file ExternalAlignmentDecorator.hpp

std::mutex ActsExamples::Contextual::ExternalAlignmentDecorator::m_iovMutex
private

Definition at line 86 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 86 of file ExternalAlignmentDecorator.hpp

std::unique_ptr<const Acts::Logger> ActsExamples::Contextual::ExternalAlignmentDecorator::m_logger
private

Definition at line 75 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 75 of file ExternalAlignmentDecorator.hpp

Referenced by logger().

std::string ActsExamples::Contextual::ExternalAlignmentDecorator::m_name = "ExternalAlignmentDecorator"
private

!< the logging instance

Definition at line 76 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 76 of file ExternalAlignmentDecorator.hpp

Referenced by name().

std::vector<Acts::Transform3> ActsExamples::Contextual::ExternalAlignmentDecorator::m_nominalStore
private

Map of nominal transforms.

Definition at line 79 of file ExternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 79 of file ExternalAlignmentDecorator.hpp


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