ATLAS Offline Software
Loading...
Searching...
No Matches
SCTSiPropertiesTestAlg.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8
9SCTSiPropertiesTestAlg::SCTSiPropertiesTestAlg(const std::string& name, ISvcLocator* pSvcLocator)
10 : ::AthReentrantAlgorithm(name, pSvcLocator)
11 , m_id{nullptr}
12{
13}
14
16 // SCT silicon properties tool
17 ATH_CHECK(m_tool.retrieve());
18
19 // SCT ID helper
20 ATH_CHECK(detStore()->retrieve(m_id, "SCT_ID"));
21
22 return StatusCode::SUCCESS;
23}
24
25StatusCode SCTSiPropertiesTestAlg::execute(const EventContext& ctx) const {
26 unsigned int maxHash{static_cast<unsigned int>(m_id->wafer_hash_max())};
27 for (unsigned int hash{0}; hash<maxHash; hash++) {
28 const IdentifierHash elementHash{hash};
29 const InDet::SiliconProperties& siProperties{m_tool->getSiProperties(elementHash, ctx)};
30 const double electronDriftMobility{siProperties.electronDriftMobility()};
31 const double holeDriftMobility{siProperties.holeDriftMobility()};
32 const double electronHallMobility{siProperties.electronHallMobility()};
33 const double holeHallMobility{siProperties.holeHallMobility()};
34 const double electronDiffusionConstant{siProperties.electronDiffusionConstant()};
35 const double holeDiffusionConstant{siProperties.holeDiffusionConstant()};
36 const double electronSaturationVelocity{siProperties.electronSaturationVelocity()};
37 const double holeSaturationVelocity{siProperties.holeSaturationVelocity()};
38 const double electronHolePairsPerEnergy{siProperties.electronHolePairsPerEnergy()};
39 ATH_MSG_INFO("hash " << hash <<
40 " electronDriftMobility " << electronDriftMobility <<
41 " holeDriftMobility " << holeDriftMobility <<
42 " electronHallMobility " << electronHallMobility <<
43 " holeHallMobility " << holeHallMobility <<
44 " electronDiffusionConstant " << electronDiffusionConstant <<
45 " holeDiffusionConstant " << holeDiffusionConstant <<
46 " electronSaturationVelocity " << electronSaturationVelocity <<
47 " holeSaturationVelocity " << holeSaturationVelocity <<
48 " electronHolePairsPerEnergy " << electronHolePairsPerEnergy);
49 }
50
51 return StatusCode::SUCCESS;
52}
53
55{
56 return StatusCode::SUCCESS;
57}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
This is an Identifier helper class for the SCT subdetector.
const ServiceHandle< StoreGateSvc > & detStore() const
An algorithm that can be simultaneously executed in multiple threads.
This is a "hash" representation of an Identifier.
double electronSaturationVelocity() const
double electronHolePairsPerEnergy() const
double electronDiffusionConstant() const
ToolHandle< ISiPropertiesTool > m_tool
virtual StatusCode finalize() override
virtual StatusCode initialize() override
SCTSiPropertiesTestAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override