The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Example::TinyExperiment::SimulationAlg Class Reference

Simulation algorithm creating MC Hits from a set of tracks. More...

Inheritance diagram for Gaudi::Example::TinyExperiment::SimulationAlg:
Collaboration diagram for Gaudi::Example::TinyExperiment::SimulationAlg:

Public Member Functions

 SimulationAlg (const std::string &name, ISvcLocator *pSvcLocator)
MCHits operator() (MCTracks const &tracks) const override

Private Attributes

Gaudi::Property< unsigned int > m_nbHitsPerTrack { this, "NbHitsPerTrack", 10 }
Gaudi::Accumulators::Counter n_hits { this, "Number of MCHits" }

Detailed Description

Simulation algorithm creating MC Hits from a set of tracks.

Definition at line 29 of file SimulationAlg.cpp.

Constructor & Destructor Documentation

◆ SimulationAlg()

Gaudi::Example::TinyExperiment::SimulationAlg::SimulationAlg ( const std::string & name,
ISvcLocator * pSvcLocator )
inline

Definition at line 31 of file SimulationAlg.cpp.

32 : Transformer( name, pSvcLocator, { { "MCTracksLocation", "/Event/MCTracks" } },
33 { "MCHitsLocation", "/Event/MCHits" } ) {}
details::Transformer< Signature, Traits_, details::isLegacy< Traits_ > > Transformer

Member Function Documentation

◆ operator()()

MCHits Gaudi::Example::TinyExperiment::SimulationAlg::operator() ( MCTracks const & tracks) const
inlineoverride

Definition at line 35 of file SimulationAlg.cpp.

35 {
36 MCHits hits;
37 hits.reserve( tracks.size() * m_nbHitsPerTrack );
38 for ( auto const& track : tracks ) {
39 auto [s, c] = sincos( track.theta );
40 for ( unsigned int i = 0; i < m_nbHitsPerTrack; i++ ) {
41 hits.emplace_back( i * c, i * s );
42 ++n_hits;
43 }
44 }
45 return hits;
46 };
Gaudi::Property< unsigned int > m_nbHitsPerTrack
std::vector< MCHit > MCHits
Definition MCHit.h:27

Member Data Documentation

◆ m_nbHitsPerTrack

Gaudi::Property<unsigned int> Gaudi::Example::TinyExperiment::SimulationAlg::m_nbHitsPerTrack { this, "NbHitsPerTrack", 10 }
private

Definition at line 49 of file SimulationAlg.cpp.

49{ this, "NbHitsPerTrack", 10 };

◆ n_hits

Gaudi::Accumulators::Counter Gaudi::Example::TinyExperiment::SimulationAlg::n_hits { this, "Number of MCHits" }
mutableprivate

Definition at line 50 of file SimulationAlg.cpp.

50{ this, "Number of MCHits" };

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