 |
ATLAS Offline Software
|
Go to the documentation of this file.
10 #include "CLHEP/Units/SystemOfUnits.h"
37 const std::string&
name,
40 m_hitCollName(
"MergedEventSteps"),
41 m_bpsmodcalc(
"EMBPresamplerCalculator",
name),
42 m_embcalc(
"EMBCalculator",
name),
43 m_emepiwcalc(
"EMECPosInnerWheelCalculator",
name),
44 m_emeniwcalc(
"EMECNegInnerWheelCalculator",
name),
45 m_emepowcalc(
"EMECPosOuterWheelCalculator",
name),
46 m_emenowcalc(
"EMECNegOuterWheelCalculator",
name),
47 m_emepscalc(
"EMECPresamplerCalculator",
name),
48 m_emepobarcalc(
"EMECPosBackOuterBarretteCalculator",
name),
49 m_emenobarcalc(
"EMECNegBackOuterBarretteCalculator",
name),
50 m_heccalc(
"HECWheelCalculator",
name),
51 m_fcal1calc(
"FCAL1Calculator",
name),
52 m_fcal2calc(
"FCAL2Calculator",
name),
53 m_fcal3calc(
"FCAL3Calculator",
name),
54 m_tileCalculator(
"TileGeoG4SDCalc",
name),
77 declareProperty(
"EMBCalculator",
m_embcalc);
85 declareProperty(
"HECWActiveCalculator",
m_heccalc);
116 return StatusCode::FAILURE;
121 return StatusCode::FAILURE;
126 return StatusCode::FAILURE;
131 return StatusCode::FAILURE;
139 return StatusCode::SUCCESS;
162 return StatusCode::SUCCESS;
173 return StatusCode::FAILURE;
175 sdWrapper->EndOfAthenaEvent();
176 return StatusCode::SUCCESS;
188 sdWrapper->addSD(
makeOneLArSD(
"Barrel::Presampler::Module::StepInfo",
192 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Pos::InnerWheel::StepInfo",
194 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Neg::InnerWheel::StepInfo",
196 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Pos::OuterWheel::StepInfo",
198 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Neg::OuterWheel::StepInfo",
200 sdWrapper->addSD(
makeOneLArSD(
"Endcap::Presampler::LiquidArgon::StepInfo",
202 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Pos::BackOuterBarrette::StepInfo",
204 sdWrapper->addSD(
makeOneLArSD(
"EMEC::Neg::BackOuterBarrette::StepInfo",
212 sdWrapper->addSD(
makeOneLArSD(
"HEC::Module::Depth::Slice::Wheel::StepInfo",
214 sdWrapper->addSD(
makeOneTileSD(
"Tile::Scintillator::StepInfo",
225 const std::vector<std::string>& volumes)
const {
236 throw GaudiException(
237 "nullptr for ILArCalculatorSvc provided to constructor for: " + sdName,
238 name(), StatusCode::FAILURE);
246 std::unique_ptr<FCS_StepInfoSD>
sd =
247 std::make_unique<LArFCS_StepInfoSD>(sdName,
config);
251 if (this->
assignSD(sd.get(), parsedVolumes).isFailure()) {
253 throw GaudiException(
"Failed to assign sd: " + sdName,
name(),
254 StatusCode::FAILURE);
264 const std::vector<std::string>& volumes)
const {
271 throw GaudiException(
272 "nullptr for ITileCalculator provided to constructor for: " + sdName,
273 name(), StatusCode::FAILURE);
281 std::unique_ptr<FCS_StepInfoSD>
sd =
282 std::make_unique<TileFCS_StepInfoSD>(sdName,
config);
286 if (this->
assignSD(sd.get(), volumes).isFailure()) {
288 throw GaudiException(
"Failed to assign sd: " + sdName,
name(),
289 StatusCode::FAILURE);
def retrieve(aClass, aKey=None)
std::vector< double > m_maxRadiusLateral
property, see LArG4GenShowerLib::LArG4GenShowerLib
const LArEM_ID * getEM_ID(void) const
std::set< std::string > findLogicalVolumes(const std::string &pattern)
Search for logical volumes in the G4 volume store.
Common base class for tools that create and manage Geant4 sensitive detectors.
#define ATH_MSG_VERBOSE(x)
G4VSensitiveDetector * getSD()
Retrieve the current SD.
Standalone functions for dealing with LAr G4 volumes.
std::vector< double > m_maxRadiusLongitudinal
property, see LArG4GenShowerLib::LArG4GenShowerLib
const TileID * getTileID(void) const
const LArHEC_ID * getHEC_ID(void) const
This class initializes the Calo (LAr and Tile) offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
const LArFCAL_ID * getFCAL_ID(void) const
#define CHECK(...)
Evaluate an expression and check for errors.
detail::SDWrapper< FCS_StepInfoSD, ISF_FCS_Parametrization::FCS_StepInfoCollection > FCS_StepInfoSDWrapper
Template instantiation for LArG4SimpleSD.
Gaudi::Property< bool > m_noVolumes
This SensitiveDetector has no volumes associated with it.
Common sensitive detector class for LAr systems.
Class for collection of StepInfo class (G4 hits) copied and modified version to ISF.
A template class which wraps multiple sensitive detectors.
StatusCode assignSD(G4VSensitiveDetector *sd, const std::vector< std::string > &volumes) const
Assign SD to a list of volumes.