#include <MaterialAccountingDetector.h>
Public Member Functions | |
void | account (const MaterialAccountingStep &step, double begin, double end) |
void | clear (void) |
const MaterialAccountingStep & | material () const |
MaterialAccountingDetector (void) | |
const GlobalPoint & | position () const |
Private Attributes | |
MaterialAccountingStep | m_accounting |
double | m_cosThetaIn |
double | m_cosThetaOut |
double | m_curvilinearIn |
double | m_curvilinearOut |
GlobalPoint | m_position |
Friends | |
class | MaterialAccountingTrack |
class | TrackingMaterialAnalyser |
Definition at line 15 of file MaterialAccountingDetector.h.
MaterialAccountingDetector::MaterialAccountingDetector | ( | void | ) | [inline] |
Definition at line 20 of file MaterialAccountingDetector.h.
: m_position (), m_curvilinearIn ( 0. ), m_curvilinearOut ( 0. ), m_cosThetaIn ( 0. ), m_cosThetaOut ( 0. ), m_accounting () { }
void MaterialAccountingDetector::account | ( | const MaterialAccountingStep & | step, |
double | begin, | ||
double | end | ||
) | [inline] |
Definition at line 48 of file MaterialAccountingDetector.h.
References m_accounting, m_cosThetaIn, m_cosThetaOut, m_curvilinearIn, m_curvilinearOut, and launcher::step.
{ if (end <= m_curvilinearIn) // step before detector m_accounting += m_cosThetaIn * step; else if (begin >= m_curvilinearOut) // step after detector m_accounting += m_cosThetaOut * step; else // step inside detector m_accounting += (m_cosThetaIn + m_cosThetaOut ) / 2. * step; }
void MaterialAccountingDetector::clear | ( | void | ) | [inline] |
Definition at line 29 of file MaterialAccountingDetector.h.
References MaterialAccountingStep::clear(), m_accounting, m_cosThetaIn, m_cosThetaOut, m_curvilinearIn, m_curvilinearOut, and m_position.
Referenced by MaterialAccountingTrack::enterDetector(), MaterialAccountingTrack::leaveDetector(), and MaterialAccountingTrack::reset().
{ m_position = GlobalPoint(), m_curvilinearIn = 0.; m_curvilinearOut = 0.; m_cosThetaIn = 0.; m_cosThetaOut = 0.; m_accounting.clear(); }
const MaterialAccountingStep& MaterialAccountingDetector::material | ( | ) | const [inline] |
Definition at line 42 of file MaterialAccountingDetector.h.
References m_accounting.
Referenced by MaterialAccountingGroup::addDetector().
{ return m_accounting; }
const GlobalPoint& MaterialAccountingDetector::position | ( | void | ) | const [inline] |
Definition at line 38 of file MaterialAccountingDetector.h.
References m_position.
Referenced by TrackingMaterialAnalyser::findLayer(), and MaterialAccountingGroup::inside().
{ return m_position; }
friend class MaterialAccountingTrack [friend] |
Definition at line 16 of file MaterialAccountingDetector.h.
friend class TrackingMaterialAnalyser [friend] |
Definition at line 17 of file MaterialAccountingDetector.h.
Definition at line 67 of file MaterialAccountingDetector.h.
Referenced by account(), clear(), and material().
double MaterialAccountingDetector::m_cosThetaIn [private] |
Definition at line 65 of file MaterialAccountingDetector.h.
Referenced by account(), clear(), and MaterialAccountingTrack::enterDetector().
double MaterialAccountingDetector::m_cosThetaOut [private] |
Definition at line 66 of file MaterialAccountingDetector.h.
Referenced by account(), clear(), and MaterialAccountingTrack::leaveDetector().
double MaterialAccountingDetector::m_curvilinearIn [private] |
Definition at line 63 of file MaterialAccountingDetector.h.
Referenced by account(), clear(), and MaterialAccountingTrack::enterDetector().
double MaterialAccountingDetector::m_curvilinearOut [private] |
Definition at line 64 of file MaterialAccountingDetector.h.
Referenced by account(), clear(), and MaterialAccountingTrack::leaveDetector().
Definition at line 62 of file MaterialAccountingDetector.h.
Referenced by clear(), MaterialAccountingTrack::enterDetector(), and position().