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
20
// forward declarations
21
class
SimTrackManager
;
22
class
SimActivityRegistry
;
23
class
SensitiveDetectorCatalog
;
24
25
namespace
edm
{
26
class
EventSetup
;
27
class
ParameterSet
;
28
}
// namespace edm
29
30
template
<
class
T>
31
class
SensitiveDetectorMaker
:
public
SensitiveDetectorMakerBase
{
32
public
:
33
explicit
SensitiveDetectorMaker
(){};
34
35
// ---------- const member functions ---------------------
36
SensitiveDetector
*
make
(
const
std::string
& iname,
37
const
edm::EventSetup
& es,
38
const
SensitiveDetectorCatalog
& clg,
39
const
edm::ParameterSet
&
p
,
40
const
SimTrackManager
* man,
41
SimActivityRegistry
& reg)
const override
{
42
T
*
sd
=
new
T
(iname, es, clg,
p
, man);
43
SimActivityRegistryEnroller::enroll
(reg,
sd
);
44
return
static_cast<SensitiveDetector*>(
sd
);
45
};
46
47
private
:
48
SensitiveDetectorMaker
(
const
SensitiveDetectorMaker
&) =
delete
;
49
const
SensitiveDetectorMaker
&
operator=
(
const
SensitiveDetectorMaker
&) =
delete
;
50
};
51
52
#endif
SimTrackManager
Definition:
SimTrackManager.h:35
MessageLogger.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
SensitiveDetector
Definition:
SensitiveDetector.h:25
SensitiveDetectorMaker::make
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:36
SensitiveDetectorCatalog
Definition:
SensitiveDetectorCatalog.h:10
SensitiveDetectorMaker
Definition:
SensitiveDetectorMaker.h:31
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition:
ParameterSet.h:47
ParameterSet
Definition:
Functions.h:16
SensitiveDetectorMakerBase
Definition:
SensitiveDetectorMakerBase.h:27
SimActivityRegistryEnroller::enroll
static void enroll(SimActivityRegistry &iReg, T *iObj)
Definition:
SimActivityRegistryEnroller.h:50
edm::EventSetup
Definition:
EventSetup.h:58
SimActivityRegistryEnroller.h
SimActivityRegistry
Definition:
SimActivityRegistry.h:39
SensitiveDetector.h
T
long double T
Definition:
Basic3DVectorLD.h:48
SensitiveDetectorMaker::operator=
const SensitiveDetectorMaker & operator=(const SensitiveDetectorMaker &)=delete
sd
double sd
Definition:
CascadeWrapper.h:113
EventSetup
SensitiveDetectorMakerBase.h
SensitiveDetectorMaker::SensitiveDetectorMaker
SensitiveDetectorMaker()
Definition:
SensitiveDetectorMaker.h:33
Generated for CMSSW Reference Manual by
1.8.16