ATLAS Offline Software
HitCreatorSilicon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_FATRASTOOLSID_HITCREATORSILICON_H
6 #define ISF_FATRASTOOLSID_HITCREATORSILICON_H
7 
8 
9 // Fatras
11 // Gaudi
14 #include "GaudiKernel/RndmGenerators.h"
15 #include "GaudiKernel/ServiceHandle.h"
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/IIncidentListener.h"
19 // Trk
21 // CLHEP
22 #include "CLHEP/Random/RandomEngine.h"
23 // Identifier
24 #include "Identifier/Identifier.h"
25 //InDet
29 
30 class PixelID;
31 class SCT_ID;
33 class StoreGateSvc;
34 class TF1;
35 
36 namespace ISF {
37  class ISFParticle;
38 }
39 
40 namespace iFatras {
41 
50  class ATLAS_NOT_THREAD_SAFE HitCreatorSilicon : public extends<AthAlgTool, IHitCreator, IIncidentListener> // deprecated: ATLASSIM-6020
51  {
52  public:
53 
55  HitCreatorSilicon(const std::string&,const std::string&,const IInterface*);
56 
58  virtual ~HitCreatorSilicon() = default;
59 
62 
65 
67  void handle(const Incident& inc);
68 
70  void createSimHit(const ISF::ISFParticle& isp, const Trk::TrackParameters&, double ) const;
71 
73  void createSimHit(const ISF::ISFParticle& isp, const Trk::TrackParameters& pars, double time, const InDetDD::SiDetectorElement& hitSiDetElement, bool isSiDetElement) const;
74 
76  const ParametersROT* createHit(const ISF::ISFParticle&, const Trk::TrackParameters& ) const { return 0; }
77 
79  const std::vector< ParametersROT >* createHits(const ISF::ISFParticle&, const ParametersLayer& ) const { return 0; }
80 
81  protected:
82 
83  /* Incident Service */
84  ServiceHandle<IIncidentSvc> m_incidentSvc{this, "IncidentService", "IncidentSvc"};
85 
86  /* SiHit collection and collection name */
87  SiHitCollection *m_hitColl{};
88  StringProperty m_collectionName{this, "CollectionName", "PixelHits"};
89 
91  ServiceHandle<IAtRndmGenSvc> m_randomSvc{this, "RandomNumberService", "AtRndmGenSvc"};
92  StringProperty m_randomEngineName{this, "RandomStreamName", "FatrasRnd"};
93  CLHEP::HepRandomEngine *m_randomEngine{};
94 
95  StringProperty m_siIdHelperName{this, "IdHelperName", "PixelID"};
96  const PixelID *m_pixIdHelper{};
97  const SCT_ID *m_sctIdHelper{};
98 
100  ToolHandle<IInDetConditionsTool> m_condSummaryTool{this, "ConditionsTool", "PixelConditionsSummaryTool"};
101  BooleanProperty m_useConditionsTool{this, "UseConditionsTool", true};
102  TF1 *m_dEdX_function{};
103 
104  DoubleProperty m_siPathToCharge{this, "PathToChargeConversion", 500.};
105  BooleanProperty m_fastEnergyDepositionModel{this, "FastEnergyDepositionModel", true};
106 
108  double energyDeposit_fast(const ISF::ISFParticle& isp, bool& isPix, bool& isSCT ) const;
109 
111  double energyDeposit_exact(const ISF::ISFParticle& isp, bool& isPix, bool& isSCT ) const;
112  };
113 
114 } // end of namespace
115 
116 #endif
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
IInDetConditionsTool.h
TrackParameters.h
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
initialize
void initialize()
Definition: run_EoverP.cxx:894
AtlasHitsVector
Definition: AtlasHitsVector.h:33
ISF::ISFParticle
Definition: ISFParticle.h:42
iFatras::HitCreatorSilicon::createHit
const ParametersROT * createHit(const ISF::ISFParticle &, const Trk::TrackParameters &) const
Return the cluster on Track – the PrepRawData is contained in this one.
Definition: HitCreatorSilicon.h:76
IHitCreator.h
ParametersLayer
std::pair< const Trk::TrackParameters *, const Trk::Layer * > ParametersLayer
Definition: IHitCreator.h:31
iFatras
Definition: ActsFatrasSimTool.h:52
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
iFatras::HitCreatorSilicon
Definition: HitCreatorSilicon.h:51
Trk::ParametersBase
Definition: ParametersBase.h:55
iFatras::HitCreatorSilicon::createHits
const std::vector< ParametersROT > * createHits(const ISF::ISFParticle &, const ParametersLayer &) const
Return the cluster on Track – the PrepRawData is contained in this one.
Definition: HitCreatorSilicon.h:79
keylayer_zslicemap.isPix
isPix
Definition: keylayer_zslicemap.py:127
IAtRndmGenSvc.h
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElement.h
IInDetConditionsTool
Definition: IInDetConditionsTool.h:25
ParametersROT
std::pair< const Trk::TrackParameters *, const Trk::RIO_OnTrack * > ParametersROT
Definition: IHitCreator.h:30
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
SCT_ID
Definition: SCT_ID.h:68
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
iFatras::HitCreatorSilicon::~HitCreatorSilicon
virtual ~HitCreatorSilicon()=default
Destructor.
checker_macros.h
Define macros for attributes used to control the static checker.
PixelID
Definition: PixelID.h:67
ServiceHandle< IIncidentSvc >
SiHitCollection.h