Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
SimG4CMS
Tracker
plugins
TkAccumulatingSensitiveDetectorBuilder.cc
Go to the documentation of this file.
1
// system include files
2
3
// user include files
4
#include "
SimG4Core/SensitiveDetector/interface/SensitiveDetectorMakerBase.h
"
5
#include "
SimG4Core/Notification/interface/SimActivityRegistryEnroller.h
"
6
#include "
SimG4Core/SensitiveDetector/interface/SensitiveDetectorPluginFactory.h
"
7
8
#include "
Geometry/TrackerNumberingBuilder/interface/GeometricDet.h
"
9
#include "
Geometry/Records/interface/IdealGeometryRecord.h
"
10
11
#include "
SimG4CMS/Tracker/interface/TkAccumulatingSensitiveDetector.h
"
12
13
#include "
FWCore/Framework/interface/EventSetup.h
"
14
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
15
#include "
FWCore/Utilities/interface/ESGetToken.h
"
16
#include "
FWCore/PluginManager/interface/ModuleDef.h
"
17
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
18
19
class
TkAccumulatingSensitiveDetectorBuilder
:
public
SensitiveDetectorMakerBase
{
20
public
:
21
explicit
TkAccumulatingSensitiveDetectorBuilder
(
edm::ParameterSet
const
&
p
,
edm::ConsumesCollector
cc)
22
:
geomdet_
{
nullptr
},
geomdetToken_
{cc.esConsumes<
edm::Transition::BeginRun
>()} {}
23
24
void
beginRun
(
const
edm::EventSetup
& es)
final
{
geomdet_
= &es.getData(
geomdetToken_
); }
25
26
std::unique_ptr<SensitiveDetector>
make
(
const
std::string
& iname,
27
const
SensitiveDetectorCatalog
& clg,
28
const
edm::ParameterSet
&
p
,
29
const
SimTrackManager
* man,
30
SimActivityRegistry
& reg)
const
final
{
31
auto
sd
= std::make_unique<TkAccumulatingSensitiveDetector>(iname,
geomdet_
, clg,
p
, man);
32
SimActivityRegistryEnroller::enroll
(reg,
sd
.get());
33
return
sd
;
34
}
35
36
private
:
37
const
GeometricDet
*
geomdet_
;
38
const
edm::ESGetToken<GeometricDet, IdealGeometryRecord>
geomdetToken_
;
39
};
40
41
DEFINE_SENSITIVEDETECTORBUILDER
(
TkAccumulatingSensitiveDetectorBuilder
,
TkAccumulatingSensitiveDetector
);
TkAccumulatingSensitiveDetector
Definition:
TkAccumulatingSensitiveDetector.h:31
TkAccumulatingSensitiveDetectorBuilder
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:19
TkAccumulatingSensitiveDetectorBuilder::TkAccumulatingSensitiveDetectorBuilder
TkAccumulatingSensitiveDetectorBuilder(edm::ParameterSet const &p, edm::ConsumesCollector cc)
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:21
TkAccumulatingSensitiveDetector.h
EventSetup.h
SensitiveDetectorMakerBase
Definition:
SensitiveDetectorMakerBase.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
ParameterSet.h
SimActivityRegistryEnroller::enroll
static void enroll(SimActivityRegistry &iReg, T *iObj)
Definition:
SimActivityRegistryEnroller.h:50
edm::ESGetToken< GeometricDet, IdealGeometryRecord >
DEFINE_SENSITIVEDETECTORBUILDER
#define DEFINE_SENSITIVEDETECTORBUILDER(type, name)
Definition:
SensitiveDetectorPluginFactory.h:21
GeometricDet.h
GeometricDet
Definition:
GeometricDet.h:31
ESGetToken.h
TkAccumulatingSensitiveDetectorBuilder::geomdet_
const GeometricDet * geomdet_
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:37
SensitiveDetectorPluginFactory.h
edm::EventSetup
Definition:
EventSetup.h:59
SensitiveDetectorCatalog
Definition:
SensitiveDetectorCatalog.h:10
edm::Transition::BeginRun
SimActivityRegistryEnroller.h
sd
double sd
Definition:
CascadeWrapper.h:113
TkAccumulatingSensitiveDetectorBuilder::beginRun
void beginRun(const edm::EventSetup &es) final
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:24
IdealGeometryRecord.h
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
edm::ParameterSet
Definition:
ParameterSet.h:47
TkAccumulatingSensitiveDetectorBuilder::geomdetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomdetToken_
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:38
SimActivityRegistry
Definition:
SimActivityRegistry.h:39
ModuleDef.h
ConsumesCollector.h
TkAccumulatingSensitiveDetectorBuilder::make
std::unique_ptr< SensitiveDetector > make(const std::string &iname, const SensitiveDetectorCatalog &clg, const edm::ParameterSet &p, const SimTrackManager *man, SimActivityRegistry ®) const final
Definition:
TkAccumulatingSensitiveDetectorBuilder.cc:26
SensitiveDetectorMakerBase.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
SimTrackManager
Definition:
SimTrackManager.h:35
Generated for CMSSW Reference Manual by
1.8.5