Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
MessageLogger.h
ParameterSet
Definition:
Functions.h:16
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
SensitiveDetectorMakerBase
Definition:
SensitiveDetectorMakerBase.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
SimActivityRegistryEnroller::enroll
static void enroll(SimActivityRegistry &iReg, T *iObj)
Definition:
SimActivityRegistryEnroller.h:50
EventSetup
SensitiveDetectorMaker
Definition:
SensitiveDetectorMaker.h:32
edm::EventSetup
Definition:
EventSetup.h:59
SensitiveDetectorCatalog
Definition:
SensitiveDetectorCatalog.h:10
SimActivityRegistryEnroller.h
SensitiveDetectorMaker::SensitiveDetectorMaker
SensitiveDetectorMaker(edm::ParameterSet const &, edm::ConsumesCollector)
Definition:
SensitiveDetectorMaker.h:34
sd
double sd
Definition:
CascadeWrapper.h:113
SensitiveDetector.h
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
edm::ParameterSet
Definition:
ParameterSet.h:47
SimActivityRegistry
Definition:
SimActivityRegistry.h:39
ConsumesCollector.h
SensitiveDetectorMakerBase.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
SimTrackManager
Definition:
SimTrackManager.h:35
Generated for CMSSW Reference Manual by
1.8.5