The Gaudi Framework  master (594c33fa)
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" } ) {}

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  };

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.

◆ n_hits

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

Definition at line 50 of file SimulationAlg.cpp.


The documentation for this class was generated from the following file:
gaudirun.s
string s
Definition: gaudirun.py:346
gaudirun.c
c
Definition: gaudirun.py:525
Gaudi::Example::TinyExperiment::MCHits
std::vector< MCHit > MCHits
Definition: MCHit.h:27
Gaudi::Example::TinyExperiment::SimulationAlg::m_nbHitsPerTrack
Gaudi::Property< unsigned int > m_nbHitsPerTrack
Definition: SimulationAlg.cpp:49
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
Gaudi ::Functional::Transformer
details::Transformer< Signature, Traits_, details::isLegacy< Traits_ > > Transformer
Definition: Transformer.h:237
Gaudi::Example::TinyExperiment::SimulationAlg::n_hits
Gaudi::Accumulators::Counter n_hits
Definition: SimulationAlg.cpp:50