SimG4Core
SensitiveDetector
interface
SensitiveDetectorMaker.h
Go to the documentation of this file.
1
#ifndef SimG4Core_SensitiveDetector_SensitiveDetectorMaker_h
2
#define SimG4Core_SensitiveDetector_SensitiveDetectorMaker_h
3
// -*- C++ -*-
4
//
5
// Package: SensitiveDetector
6
// Class : SensitiveDetectorMaker
7
//
8
//
9
// Original Author:
10
// Created: Mon Nov 14 11:56:05 EST 2005
11
//
12
13
// user include files
14
#include "
SimG4Core/SensitiveDetector/interface/SensitiveDetectorMakerBase.h
"
15
#include "
SimG4Core/SensitiveDetector/interface/SensitiveDetector.h
"
16
#include "
SimG4Core/Notification/interface/SimActivityRegistryEnroller.h
"
17
18
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
19
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
20
21
// forward declarations
22
class
SimTrackManager
;
23
class
SimActivityRegistry
;
24
class
SensitiveDetectorCatalog
;
25
26
namespace
edm
{
27
class
EventSetup
;
28
class
ParameterSet
;
29
}
// namespace edm
30
31
template
<
class
T>
32
class
SensitiveDetectorMaker
:
public
SensitiveDetectorMakerBase
{
33
public
:
34
explicit
SensitiveDetectorMaker
(
edm::ParameterSet
const
&,
edm::ConsumesCollector
){};
35
SensitiveDetectorMaker
(
const
SensitiveDetectorMaker
&) =
delete
;
36
const
SensitiveDetectorMaker
&
operator=
(
const
SensitiveDetectorMaker
&) =
delete
;
37
38
// ---------- const member functions ---------------------
39
std::unique_ptr<SensitiveDetector>
make
(
const
std::string
& iname,
40
const
edm::EventSetup
& es,
41
const
SensitiveDetectorCatalog
& clg,
42
const
edm::ParameterSet
&
p
,
43
const
SimTrackManager
* man,
44
SimActivityRegistry
& reg)
const override
{
45
auto
sd
= std::make_unique<T>(iname, es, clg,
p
, man);
46
SimActivityRegistryEnroller::enroll
(reg,
sd
.get());
47
return
sd
;
48
};
49
};
50
51
#endif
SimTrackManager
Definition:
SimTrackManager.h:35
MessageLogger.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
SensitiveDetectorMaker::SensitiveDetectorMaker
SensitiveDetectorMaker(edm::ParameterSet const &, edm::ConsumesCollector)
Definition:
SensitiveDetectorMaker.h:34
SensitiveDetectorCatalog
Definition:
SensitiveDetectorCatalog.h:10
SensitiveDetectorMaker
Definition:
SensitiveDetectorMaker.h:32
edm::ParameterSet
Definition:
ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
ParameterSet
Definition:
Functions.h:16
SensitiveDetectorMakerBase
Definition:
SensitiveDetectorMakerBase.h:28
SimActivityRegistryEnroller::enroll
static void enroll(SimActivityRegistry &iReg, T *iObj)
Definition:
SimActivityRegistryEnroller.h:50
edm::EventSetup
Definition:
EventSetup.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
SimActivityRegistryEnroller.h
SimActivityRegistry
Definition:
SimActivityRegistry.h:39
SensitiveDetector.h
SensitiveDetectorMaker::operator=
const SensitiveDetectorMaker & operator=(const SensitiveDetectorMaker &)=delete
SensitiveDetectorMaker::make
std::unique_ptr< SensitiveDetector > make(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, const edm::ParameterSet &p, const SimTrackManager *man, SimActivityRegistry ®) const override
Definition:
SensitiveDetectorMaker.h:39
sd
double sd
Definition:
CascadeWrapper.h:113
ConsumesCollector.h
EventSetup
SensitiveDetectorMakerBase.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
Generated for CMSSW Reference Manual by
1.8.16