![]() |
ATLAS Offline Software
|
#include <InducedChargeModel.h>
Classes | |
| struct | SCT_InducedChargeModelData |
Public Types | |
| enum | EFieldModel { FlatDiodeModel =0 , FEMsolutions =1 , UniformE =2 } |
| enum | TransportStep { NTransportSteps =100 } |
| enum | FEMNums { NRamoPoints =81 , NEFieldPoints =17 , NDepthPoints =115 } |
| enum | InducedStrips { StartStrip =-2 , EndStrip =+2 , Offset =-StartStrip , NStrips =EndStrip+Offset+1 } |
Public Member Functions | |
| InducedChargeModel (size_t maxHash, EFieldModel model=FEMsolutions) | |
| SCT_InducedChargeModelData * | setWaferData (const float vdepl, const float vbias, const InDetDD::SolidStateDetectorElementBase *element, const AtlasFieldCacheCondObj *fieldCondObj, const ToolHandle< ISiliconConditionsTool > &siConditionsTool, CLHEP::HepRandomEngine *rndmEngine, const EventContext &ctx) const |
| void | setEField (SCT_InducedChargeModelData &data) const |
| void | transport (const SCT_InducedChargeModelData &data, const bool isElectron, const double x0, const double y0, double *Q_m2, double *Q_m1, double *Q_00, double *Q_p1, double *Q_p2, const IdentifierHash hashId, const ToolHandle< ISiPropertiesTool > &siPropertiesTool, const EventContext &ctx) const |
| void | holeTransport (const SCT_InducedChargeModelData &data, const double x0, const double y0, double *Q_m2, double *Q_m1, double *Q_00, double *Q_p1, double *Q_p2, const IdentifierHash hashId, const ToolHandle< ISiPropertiesTool > &siPropertiesTool, const EventContext &ctx) const |
| void | electronTransport (const SCT_InducedChargeModelData &data, const double x0, const double y0, double *Q_m2, double *Q_m1, double *Q_00, double *Q_p1, double *Q_p2, const IdentifierHash hashId, const ToolHandle< ISiPropertiesTool > &siPropertiesTool, const EventContext &ctx) const |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Private Member Functions | |
| void | loadICMParameters () |
| bool | getVxVyD (const SCT_InducedChargeModelData &data, const bool isElectron, const double x, const double y, double &vx, double &vy, double &D, const IdentifierHash hashId, const ToolHandle< ISiPropertiesTool > &siPropertiesTool, const EventContext &ctx) const |
| double | induced (const SCT_InducedChargeModelData &data, const int istrip, const double x, const double y) const |
| void | getEField (const SCT_InducedChargeModelData &data, const double x, const double y, double &Ex, double &Ey) const |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Static Private Member Functions | |
| static size_t | getFEMIndex (SCT_InducedChargeModelData &data) |
Private Attributes | |
| EFieldModel | m_EFieldModel |
| double | m_transportTimeStep = 0.50 |
| double | m_transportTimeMax = m_transportTimeStep*NTransportSteps |
| double | m_bulk_depth = 0.0285 |
| double | m_strip_pitch = 0.0080 |
| double | m_y_origin_min = 0. |
| std::vector< std::array< std::array< double, NDepthPoints >, NRamoPoints > > | m_PotentialValue |
| std::vector< std::array< std::array< double, NDepthPoints >, NEFieldPoints > > | m_ExValue |
| std::vector< std::array< std::array< double, NDepthPoints >, NEFieldPoints > > | m_EyValue |
| std::vector< std::unique_ptr< SCT_InducedChargeModelData > > m_data | ATLAS_THREAD_SAFE |
| std::mutex | m_mutex |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
Static Private Attributes | |
| static const double | s_kB = Gaudi::Units::k_Boltzmann / Gaudi::Units::joule |
| static const double | s_e = Gaudi::Units::e_SI |
| static const std::vector< float > | s_VFD0 |
| static const std::vector< std::string > | s_VFD0str |
Definition at line 43 of file InducedChargeModel.h.
| Enumerator | |
|---|---|
| NRamoPoints | |
| NEFieldPoints | |
| NDepthPoints | |
Definition at line 48 of file InducedChargeModel.h.
| Enumerator | |
|---|---|
| NTransportSteps | |
Definition at line 47 of file InducedChargeModel.h.
| InducedChargeModel::InducedChargeModel | ( | size_t | maxHash, |
| EFieldModel | model = FEMsolutions ) |
Definition at line 31 of file InducedChargeModel.cxx.
| void InducedChargeModel::electronTransport | ( | const SCT_InducedChargeModelData & | data, |
| const double | x0, | ||
| const double | y0, | ||
| double * | Q_m2, | ||
| double * | Q_m1, | ||
| double * | Q_00, | ||
| double * | Q_p1, | ||
| double * | Q_p2, | ||
| const IdentifierHash | hashId, | ||
| const ToolHandle< ISiPropertiesTool > & | siPropertiesTool, | ||
| const EventContext & | ctx ) const |
Definition at line 211 of file InducedChargeModel.cxx.
|
private |
Definition at line 308 of file InducedChargeModel.cxx.
|
staticprivate |
Definition at line 377 of file InducedChargeModel.cxx.
|
private |
Definition at line 231 of file InducedChargeModel.cxx.
| void InducedChargeModel::holeTransport | ( | const SCT_InducedChargeModelData & | data, |
| const double | x0, | ||
| const double | y0, | ||
| double * | Q_m2, | ||
| double * | Q_m1, | ||
| double * | Q_00, | ||
| double * | Q_p1, | ||
| double * | Q_p2, | ||
| const IdentifierHash | hashId, | ||
| const ToolHandle< ISiPropertiesTool > & | siPropertiesTool, | ||
| const EventContext & | ctx ) const |
Definition at line 191 of file InducedChargeModel.cxx.
|
private |
Definition at line 276 of file InducedChargeModel.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
private |
Definition at line 395 of file InducedChargeModel.cxx.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 163 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 178 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
| void InducedChargeModel::setEField | ( | SCT_InducedChargeModelData & | data | ) | const |
Definition at line 458 of file InducedChargeModel.cxx.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
| InducedChargeModel::SCT_InducedChargeModelData * InducedChargeModel::setWaferData | ( | const float | vdepl, |
| const float | vbias, | ||
| const InDetDD::SolidStateDetectorElementBase * | element, | ||
| const AtlasFieldCacheCondObj * | fieldCondObj, | ||
| const ToolHandle< ISiliconConditionsTool > & | siConditionsTool, | ||
| CLHEP::HepRandomEngine * | rndmEngine, | ||
| const EventContext & | ctx ) const |
Definition at line 40 of file InducedChargeModel.cxx.
| void InducedChargeModel::transport | ( | const SCT_InducedChargeModelData & | data, |
| const bool | isElectron, | ||
| const double | x0, | ||
| const double | y0, | ||
| double * | Q_m2, | ||
| double * | Q_m1, | ||
| double * | Q_00, | ||
| double * | Q_p1, | ||
| double * | Q_p2, | ||
| const IdentifierHash | hashId, | ||
| const ToolHandle< ISiPropertiesTool > & | siPropertiesTool, | ||
| const EventContext & | ctx ) const |
Definition at line 104 of file InducedChargeModel.cxx.
|
mutableprivate |
Definition at line 172 of file InducedChargeModel.h.
|
private |
Definition at line 153 of file InducedChargeModel.h.
|
private |
Definition at line 148 of file InducedChargeModel.h.
|
private |
Definition at line 166 of file InducedChargeModel.h.
|
private |
Definition at line 167 of file InducedChargeModel.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
mutableprivate |
Definition at line 174 of file InducedChargeModel.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 165 of file InducedChargeModel.h.
|
private |
Definition at line 154 of file InducedChargeModel.h.
|
private |
Definition at line 150 of file InducedChargeModel.h.
|
private |
Definition at line 149 of file InducedChargeModel.h.
|
private |
Definition at line 155 of file InducedChargeModel.h.
|
staticprivate |
Definition at line 145 of file InducedChargeModel.h.
|
staticprivate |
Definition at line 144 of file InducedChargeModel.h.
|
staticprivate |
Definition at line 26 of file InducedChargeModel.h.
|
staticprivate |
Definition at line 28 of file InducedChargeModel.h.