ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 {}

◆ SiCharge() [2/5]

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

Definition at line 26 of file SiCharge.cxx.

27  :
29  m_time(time),
31  m_partLink()
32 {}

◆ ~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:
SiCharge::charge
double charge() const
Definition: SiCharge.h:109
SiCharge::m_charge
double m_charge
Definition: SiCharge.h:99
SiCharge::m_processType
Process m_processType
Definition: SiCharge.h:101
SiCharge::track
@ track
Definition: SiCharge.h:28
SiCharge::diodeX_Talk
@ diodeX_Talk
Definition: SiCharge.h:28
SiCharge::extraNoise
@ extraNoise
Definition: SiCharge.h:28
SiCharge::noise
@ noise
Definition: SiCharge.h:28
SiCharge::processType
Process processType() const
Definition: SiCharge.h:119
SiCharge::m_time
double m_time
Definition: SiCharge.h:100
SiCharge::m_partLink
HepMcParticleLink m_partLink
Definition: SiCharge.h:103
SiCharge::time
double time() const
Definition: SiCharge.h:114
SiCharge::cut_track
@ cut_track
Definition: SiCharge.h:28
SiCharge::no
@ no
Definition: SiCharge.h:28
SiCharge::cellX_Talk
@ cellX_Talk
Definition: SiCharge.h:28