ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDigitization
SiDigitization
SiDigitization
ISurfaceChargesGenerator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
9
10
#ifndef SIDIGITIZATION_ISURFACECHARGESGENERATOR_H
11
#define SIDIGITIZATION_ISURFACECHARGESGENERATOR_H
12
13
// Input/output classes
14
#include <list>
15
#include "
SiDigitization/SiSurfaceCharge.h
"
16
#include "
HitManagement/TimedHitPtr.h
"
17
18
#include "GaudiKernel/IAlgTool.h"
19
#include "GaudiKernel/EventContext.h"
20
21
class
SiHit
;
22
23
namespace
InDetDD
{
24
class
SiDetectorElement
;
25
class
SCT_ModuleSideDesign
;
26
}
27
namespace
CLHEP
{
28
class
HepRandomEngine;
29
}
30
31
class
ISiSurfaceChargesInserter
32
{
33
public
:
34
virtual
~ISiSurfaceChargesInserter
() {}
35
virtual
void
operator()
(
const
SiSurfaceCharge
& scharge) = 0;
36
};
37
38
static
const
InterfaceID
IID_ISurfaceChargesGenerator
(
"ISurfaceChargesGenerator"
,1,0);
39
40
class
ISurfaceChargesGenerator
:
virtual
public
IAlgTool {
41
43
// Public methods:
45
public
:
46
47
//Retrieve interface ID
48
static
const
InterfaceID&
interfaceID
() {
return
IID_ISurfaceChargesGenerator
; }
49
50
// Destructor:
51
virtual
~ISurfaceChargesGenerator
() {}
52
53
virtual
void
process
(
const
InDetDD::SiDetectorElement
* ele,
54
const
TimedHitPtr<SiHit>
& phit,
55
ISiSurfaceChargesInserter
& inserter,
56
CLHEP::HepRandomEngine * rndmEngine,
57
const
EventContext& ctx) =0;
58
/*
59
//We may need an alternative method like this, if calls to
60
//SCT_ModuleSideDesign::getMother() prove costly
61
//In which case, perhaps this Interface class should be specific to
62
//ITkStrip/SCT rather than common to both, since only ITkStrip
63
//Needs to support split sensors in all its SurfaceChargeGenerators
64
virtual void processSplit(const InDetDD::SCT_ModuleSideDesign* mother,
65
const InDetDD::SiDetectorElement* ele,
66
const TimedHitPtr<SiHit>& phit,
67
const ISiSurfaceChargesInserter& inserter,
68
CLHEP::HepRandomEngine * rndmEngine,
69
const EventContext& ctx) const =0;
70
*/
71
virtual
void
setFixedTime
(
float
fixedTime) =0;
72
};
73
74
#endif
// SIDIGITIZATION_ISURFACECHARGESGENERATOR_H
IID_ISurfaceChargesGenerator
static const InterfaceID IID_ISurfaceChargesGenerator("ISurfaceChargesGenerator", 1, 0)
SiSurfaceCharge.h
TimedHitPtr.h
ISiSurfaceChargesInserter
Definition
ISurfaceChargesGenerator.h:32
ISiSurfaceChargesInserter::operator()
virtual void operator()(const SiSurfaceCharge &scharge)=0
ISiSurfaceChargesInserter::~ISiSurfaceChargesInserter
virtual ~ISiSurfaceChargesInserter()
Definition
ISurfaceChargesGenerator.h:34
ISurfaceChargesGenerator
Definition
ISurfaceChargesGenerator.h:40
ISurfaceChargesGenerator::interfaceID
static const InterfaceID & interfaceID()
Definition
ISurfaceChargesGenerator.h:48
ISurfaceChargesGenerator::setFixedTime
virtual void setFixedTime(float fixedTime)=0
ISurfaceChargesGenerator::~ISurfaceChargesGenerator
virtual ~ISurfaceChargesGenerator()
Definition
ISurfaceChargesGenerator.h:51
ISurfaceChargesGenerator::process
virtual void process(const InDetDD::SiDetectorElement *ele, const TimedHitPtr< SiHit > &phit, ISiSurfaceChargesInserter &inserter, CLHEP::HepRandomEngine *rndmEngine, const EventContext &ctx)=0
InDetDD::SCT_ModuleSideDesign
Base class for the SCT module side design, extended by the Forward and Barrel module design.
Definition
SCT_ModuleSideDesign.h:40
InDetDD::SiDetectorElement
Class to hold geometrical description of a silicon detector element.
Definition
SiDetectorElement.h:109
SiHit
Definition
SiHit.h:19
SiSurfaceCharge
Definition
SiSurfaceCharge.h:23
TimedHitPtr
a smart pointer to a hit that also provides access to the extended timing info of the host event.
Definition
TimedHitPtr.h:18
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
Generated on
for ATLAS Offline Software by
1.17.0