ATLAS Offline Software
Loading...
Searching...
No Matches
MM_IonizationCluster Class Reference

#include <MM_IonizationCluster.h>

Collaboration diagram for MM_IonizationCluster:

Public Member Functions

 MM_IonizationCluster ()=default
 MM_IonizationCluster (float HitX, float IonizationX, float IonizationY)
void createElectrons (int nElectrons)
void propagateElectrons (float lorentzAngle, float driftVel)
std::vector< std::unique_ptr< MM_Electron > > & getElectrons ()
float getHitX () const
const Amg::Vector2DgetIonizationStart () const

Private Attributes

std::vector< std::unique_ptr< MM_Electron > > m_Electrons
float m_HitX {0.0F}
Amg::Vector2D m_IonizationStart {Amg::Vector2D::Zero()}

Detailed Description

Definition at line 17 of file MM_IonizationCluster.h.

Constructor & Destructor Documentation

◆ MM_IonizationCluster() [1/2]

MM_IonizationCluster::MM_IonizationCluster ( )
default

◆ MM_IonizationCluster() [2/2]

MM_IonizationCluster::MM_IonizationCluster ( float HitX,
float IonizationX,
float IonizationY )

Definition at line 7 of file MM_IonizationCluster.cxx.

7 :
8 m_HitX(HitX), m_IonizationStart(IonizationX, IonizationY) {}

Member Function Documentation

◆ createElectrons()

void MM_IonizationCluster::createElectrons ( int nElectrons)

Definition at line 10 of file MM_IonizationCluster.cxx.

10 {
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}
std::vector< std::unique_ptr< MM_Electron > > m_Electrons

◆ getElectrons()

std::vector< std::unique_ptr< MM_Electron > > & MM_IonizationCluster::getElectrons ( )

Definition at line 21 of file MM_IonizationCluster.cxx.

21{ return m_Electrons; }

◆ getHitX()

float MM_IonizationCluster::getHitX ( ) const
inline

Definition at line 24 of file MM_IonizationCluster.h.

24{ return m_HitX; }

◆ getIonizationStart()

const Amg::Vector2D & MM_IonizationCluster::getIonizationStart ( ) const
inline

Definition at line 25 of file MM_IonizationCluster.h.

25{ return m_IonizationStart; }

◆ propagateElectrons()

void MM_IonizationCluster::propagateElectrons ( float lorentzAngle,
float driftVel )

Definition at line 16 of file MM_IonizationCluster.cxx.

16 {
17 for (auto& Electron : m_Electrons) Electron->propagateElectron(lorentzAngle, driftVel);
18}
Electron_v1 Electron
Definition of the current "egamma version".

Member Data Documentation

◆ m_Electrons

std::vector<std::unique_ptr<MM_Electron> > MM_IonizationCluster::m_Electrons
private

Definition at line 29 of file MM_IonizationCluster.h.

◆ m_HitX

float MM_IonizationCluster::m_HitX {0.0F}
private

Definition at line 30 of file MM_IonizationCluster.h.

30{0.0F};

◆ m_IonizationStart

Amg::Vector2D MM_IonizationCluster::m_IonizationStart {Amg::Vector2D::Zero()}
private

Definition at line 31 of file MM_IonizationCluster.h.

31{Amg::Vector2D::Zero()};

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