ATLAS Offline Software
Loading...
Searching...
No Matches
MM_IonizationCluster.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MM_DIGITIZATION_MM_IONIZATIONCLUSTER_H
6#define MM_DIGITIZATION_MM_IONIZATIONCLUSTER_H
7//
8// MM_IonizationCluster.cxx
9// Primary Ionization Cluster made up of primary electrons
10//
11
12#include <memory>
13#include <vector>
16
18public:
20 MM_IonizationCluster(float HitX, float IonizationX, float IonizationY);
21 void createElectrons(int nElectrons);
22 void propagateElectrons(float lorentzAngle, float driftVel);
23 std::vector<std::unique_ptr<MM_Electron>>& getElectrons();
24 float getHitX() const { return m_HitX; }
26
27private:
28 // Members supplied by user
29 std::vector<std::unique_ptr<MM_Electron>> m_Electrons;
30 float m_HitX{0.0F};
31 Amg::Vector2D m_IonizationStart{Amg::Vector2D::Zero()};
32};
33
34#endif
void propagateElectrons(float lorentzAngle, float driftVel)
MM_IonizationCluster()=default
std::vector< std::unique_ptr< MM_Electron > > & getElectrons()
const Amg::Vector2D & getIonizationStart() const
std::vector< std::unique_ptr< MM_Electron > > m_Electrons
void createElectrons(int nElectrons)
Eigen::Matrix< double, 2, 1 > Vector2D