ATLAS Offline Software
Loading...
Searching...
No Matches
MM_IonizationCluster.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7MM_IonizationCluster::MM_IonizationCluster(float HitX, float IonizationX, float IonizationY) :
8 m_HitX(HitX), m_IonizationStart(IonizationX, IonizationY) {}
9
11 m_Electrons.reserve(nElectrons);
12 for (int iElectron = 0; iElectron < nElectrons; iElectron++)
13 m_Electrons.push_back(std::make_unique<MM_Electron>(m_IonizationStart.x() + m_HitX, m_IonizationStart.y()));
14}
15
16void MM_IonizationCluster::propagateElectrons(float lorentzAngle, float driftVel) {
17 for (auto& Electron : m_Electrons) Electron->propagateElectron(lorentzAngle, driftVel);
18}
19
20// accessors
21std::vector<std::unique_ptr<MM_Electron>>& MM_IonizationCluster::getElectrons() { return m_Electrons; }
void propagateElectrons(float lorentzAngle, float driftVel)
MM_IonizationCluster()=default
std::vector< std::unique_ptr< MM_Electron > > & getElectrons()
std::vector< std::unique_ptr< MM_Electron > > m_Electrons
void createElectrons(int nElectrons)
Class describing an electron.