ATLAS Offline Software
Loading...
Searching...
No Matches
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>
17
18#include "GaudiKernel/IAlgTool.h"
19#include "GaudiKernel/EventContext.h"
20
21class SiHit;
22
23namespace InDetDD {
26}
27namespace CLHEP {
28 class HepRandomEngine;
29}
30
32{
33 public:
35 virtual void operator() (const SiSurfaceCharge& scharge) = 0;
36};
37
38static const InterfaceID IID_ISurfaceChargesGenerator("ISurfaceChargesGenerator",1,0);
39
40class 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:
52
53 virtual void process(const InDetDD::SiDetectorElement* ele,
54 const TimedHitPtr<SiHit>& phit,
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
static const InterfaceID IID_ISurfaceChargesGenerator("ISurfaceChargesGenerator", 1, 0)
virtual void operator()(const SiSurfaceCharge &scharge)=0
static const InterfaceID & interfaceID()
virtual void setFixedTime(float fixedTime)=0
virtual void process(const InDetDD::SiDetectorElement *ele, const TimedHitPtr< SiHit > &phit, ISiSurfaceChargesInserter &inserter, CLHEP::HepRandomEngine *rndmEngine, const EventContext &ctx)=0
Base class for the SCT module side design, extended by the Forward and Barrel module design.
Class to hold geometrical description of a silicon detector element.
Definition SiHit.h:19
a smart pointer to a hit that also provides access to the extended timing info of the host event.
Definition TimedHitPtr.h:18
Message Stream Member.