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

#include <SiCharge.h>

Collaboration diagram for SiCharge:

Public Types

enum  Process {
  no , track , diodeX_Talk , cellX_Talk ,
  noise , extraNoise , cut_track
}

Public Member Functions

 SiCharge (const double &charge, const double &time, const Process &processType, const HepMcParticleLink &PL)
 SiCharge (const double &charge, const double &time, const Process &processType)
 ~SiCharge ()=default
 SiCharge (const SiCharge &charge)=default
SiChargeoperator= (const SiCharge &charge)=default
 SiCharge (SiCharge &&charge) noexcept=default
SiChargeoperator= (SiCharge &&charge) noexcept=default
double charge () const
double time () const
Process processType () const
int trackBarcode () const
const HepMcParticleLinkparticleLink () const
bool add (const SiCharge &charge)

Private Member Functions

 SiCharge ()

Private Attributes

double m_charge
double m_time
Process m_processType
HepMcParticleLink m_partLink

Detailed Description

Definition at line 25 of file SiCharge.h.

Member Enumeration Documentation

◆ Process

Enumerator
no 
track 
diodeX_Talk 
cellX_Talk 
noise 
extraNoise 
cut_track 

Definition at line 28 of file SiCharge.h.

Constructor & Destructor Documentation

◆ SiCharge() [1/5]

SiCharge::SiCharge ( const double & charge,
const double & time,
const Process & processType,
const HepMcParticleLink & PL )

Definition at line 18 of file SiCharge.cxx.

19 :
21 m_time(time),
23 m_partLink(PL)
24{}
double m_time
Definition SiCharge.h:100
Process processType() const
Definition SiCharge.h:119
HepMcParticleLink m_partLink
Definition SiCharge.h:103
double time() const
Definition SiCharge.h:114
Process m_processType
Definition SiCharge.h:101
double m_charge
Definition SiCharge.h:99
double charge() const
Definition SiCharge.h:109

◆ SiCharge() [2/5]

SiCharge::SiCharge ( const double & charge,
const double & time,
const Process & processType )

Definition at line 26 of file SiCharge.cxx.

◆ ~SiCharge()

SiCharge::~SiCharge ( )
default

◆ SiCharge() [3/5]

SiCharge::SiCharge ( const SiCharge & charge)
default

◆ SiCharge() [4/5]

SiCharge::SiCharge ( SiCharge && charge)
defaultnoexcept

◆ SiCharge() [5/5]

SiCharge::SiCharge ( )
private

Member Function Documentation

◆ add()

bool SiCharge::add ( const SiCharge & charge)

Definition at line 35 of file SiCharge.cxx.

36{
37 // check if the two charges are compatible
38 if (charge.m_processType!=m_processType ||
39 charge.m_time!=m_time ||
40 charge.m_partLink!=m_partLink) {
41 return false;
42 } else {
43 m_charge+=charge.m_charge;
44 return true;
45 }
46}

◆ charge()

double SiCharge::charge ( ) const
inline

Definition at line 109 of file SiCharge.h.

110{
111 return m_charge;
112}

◆ operator=() [1/2]

SiCharge & SiCharge::operator= ( const SiCharge & charge)
default

◆ operator=() [2/2]

SiCharge & SiCharge::operator= ( SiCharge && charge)
defaultnoexcept

◆ particleLink()

const HepMcParticleLink & SiCharge::particleLink ( ) const
inline

Definition at line 129 of file SiCharge.h.

130{
131 return m_partLink;
132}

◆ processType()

SiCharge::Process SiCharge::processType ( ) const
inline

Definition at line 119 of file SiCharge.h.

120{
121 return m_processType;
122}

◆ time()

double SiCharge::time ( ) const
inline

Definition at line 114 of file SiCharge.h.

115{
116 return m_time;
117}

◆ trackBarcode()

int SiCharge::trackBarcode ( ) const
inline

Definition at line 124 of file SiCharge.h.

125{
126 return m_partLink.barcode();
127}

Member Data Documentation

◆ m_charge

double SiCharge::m_charge
private

Definition at line 99 of file SiCharge.h.

◆ m_partLink

HepMcParticleLink SiCharge::m_partLink
private

Definition at line 103 of file SiCharge.h.

◆ m_processType

Process SiCharge::m_processType
private

Definition at line 101 of file SiCharge.h.

◆ m_time

double SiCharge::m_time
private

Definition at line 100 of file SiCharge.h.


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