Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples::Contextual::InternalAlignmentDecorator 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/InternalAlignmentDecorator.hpp>

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

Classes

struct  Config
 nested configuration struct More...
 
struct  IovStatus
 

Public Types

using LayerStore = std::vector< std::shared_ptr< InternallyAlignedDetectorElement >>
 
using DetectorStore = std::vector< LayerStore >
 

Public Member Functions

 InternalAlignmentDecorator (const Config &cfg, std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("AlignmentDecorator", Acts::Logging::INFO))
 
 ~InternalAlignmentDecorator () 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.
 

Private Attributes

Config m_cfg
 the configuration class
 
std::unique_ptr< const
Acts::Logger
m_logger
 
std::string m_name = "AlignmentDecorator"
 !< the logging instance
 
std::mutex m_alignmentMutex
 
std::unordered_map< unsigned
int, IovStatus
m_activeIovs
 
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 38 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 38 of file InternalAlignmentDecorator.hpp

Member Typedef Documentation

Definition at line 42 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 42 of file InternalAlignmentDecorator.hpp

Definition at line 41 of file InternalAlignmentDecorator.hpp.

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

Constructor & Destructor Documentation

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

Constructor

Parameters
cfgConfiguration struct
loggerThe logging framework

Definition at line 22 of file InternalAlignmentDecorator.cpp.

View newest version in sPHENIX GitHub at line 22 of file InternalAlignmentDecorator.cpp

ActsExamples::Contextual::InternalAlignmentDecorator::~InternalAlignmentDecorator ( )
overridedefault

Virtual destructor.

Member Function Documentation

ActsExamples::ProcessCode ActsExamples::Contextual::InternalAlignmentDecorator::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 27 of file InternalAlignmentDecorator.cpp.

View newest version in sPHENIX GitHub at line 27 of file InternalAlignmentDecorator.cpp

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

+ Here is the call graph for this function:

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

Private access to the logging instance.

Definition at line 88 of file InternalAlignmentDecorator.hpp.

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

References m_logger.

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

decorator name() for screen output

Implements ActsExamples::IContextDecorator.

Definition at line 72 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 72 of file InternalAlignmentDecorator.hpp

References m_name.

Member Data Documentation

std::unordered_map<unsigned int, IovStatus> ActsExamples::Contextual::InternalAlignmentDecorator::m_activeIovs
private

Definition at line 84 of file InternalAlignmentDecorator.hpp.

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

std::mutex ActsExamples::Contextual::InternalAlignmentDecorator::m_alignmentMutex
private

Definition at line 80 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 80 of file InternalAlignmentDecorator.hpp

Config ActsExamples::Contextual::InternalAlignmentDecorator::m_cfg
private

the configuration class

Definition at line 75 of file InternalAlignmentDecorator.hpp.

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

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

Definition at line 85 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 85 of file InternalAlignmentDecorator.hpp

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

Definition at line 76 of file InternalAlignmentDecorator.hpp.

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

Referenced by logger().

std::string ActsExamples::Contextual::InternalAlignmentDecorator::m_name = "AlignmentDecorator"
private

!< the logging instance

Protect multiple alignments to be loaded at once

Definition at line 77 of file InternalAlignmentDecorator.hpp.

View newest version in sPHENIX GitHub at line 77 of file InternalAlignmentDecorator.hpp

Referenced by name().


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