SimCalorimetry
HcalSimAlgos
interface
HcalShapes.h
Go to the documentation of this file.
1
#ifndef HcalSimAlgos_HcalShapes_h
2
#define HcalSimAlgos_HcalShapes_h
3
8
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
9
#include "
SimCalorimetry/CaloSimAlgos/interface/CaloShapes.h
"
10
#include "
SimCalorimetry/HcalSimAlgos/interface/HcalShape.h
"
11
#include "
SimCalorimetry/HcalSimAlgos/interface/ZDCShape.h
"
12
#include "
CalibFormats/HcalObjects/interface/HcalDbService.h
"
13
#include <vector>
14
#include <map>
15
class
CaloVShape
;
16
class
DetId
;
17
18
class
HcalShapes
:
public
CaloShapes
{
19
public
:
20
enum
{
HPD
= 101,
LONG
= 102,
ZECOTEK
= 201,
HAMAMATSU
= 202,
HE2017
= 203,
HE2018
= 206,
HF
= 301,
ZDC
= 401 };
21
HcalShapes
();
22
~HcalShapes
()
override
;
23
24
void
setDbService
(
const
HcalDbService
*
service
) {
theDbService
=
service
; }
25
26
const
CaloVShape
*
shape
(
const
DetId
& detId,
bool
precise
=
false
)
const override
;
27
28
private
:
29
typedef
std::map<int, const CaloVShape*>
ShapeMap
;
30
// hardcoded, if we can't figure it out from the DB
31
const
CaloVShape
*
defaultShape
(
const
DetId
& detId,
bool
precise
=
false
)
const
;
32
const
ShapeMap
&
getShapeMap
(
bool
precise
)
const
;
33
const
HcalDbService
*
theDbService
;
34
ShapeMap
theShapes
;
35
ShapeMap
theShapesPrecise
;
36
ZDCShape
theZDCShape
;
37
// list of vShapes.
38
std::vector<HcalShape>
theHcalShapes
;
39
};
40
41
#endif
service
Definition:
service.py:1
HcalShapes::getShapeMap
const ShapeMap & getShapeMap(bool precise) const
Definition:
HcalShapes.cc:86
HcalShapes::HPD
Definition:
HcalShapes.h:20
HcalShapes::HE2018
Definition:
HcalShapes.h:20
hltPixelTracks_cff.precise
precise
Definition:
hltPixelTracks_cff.py:32
HcalShapes::setDbService
void setDbService(const HcalDbService *service)
Definition:
HcalShapes.h:24
HcalShapes::theShapesPrecise
ShapeMap theShapesPrecise
Definition:
HcalShapes.h:35
HcalShapes::HcalShapes
HcalShapes()
Definition:
HcalShapes.cc:12
CaloShapes.h
HcalShapes::theZDCShape
ZDCShape theZDCShape
Definition:
HcalShapes.h:36
HcalShapes::HE2017
Definition:
HcalShapes.h:20
HcalShapes::theDbService
const HcalDbService * theDbService
Definition:
HcalShapes.h:33
DetId
Definition:
DetId.h:17
HcalShapes::~HcalShapes
~HcalShapes() override
Definition:
HcalShapes.cc:43
HcalShapes::theShapes
ShapeMap theShapes
Definition:
HcalShapes.h:34
HcalShapes::defaultShape
const CaloVShape * defaultShape(const DetId &detId, bool precise=false) const
Definition:
HcalShapes.cc:65
HcalShapes::shape
const CaloVShape * shape(const DetId &detId, bool precise=false) const override
Definition:
HcalShapes.cc:50
HcalShapes::HAMAMATSU
Definition:
HcalShapes.h:20
HcalShapes::ZDC
Definition:
HcalShapes.h:20
HcalShapes::theHcalShapes
std::vector< HcalShape > theHcalShapes
Definition:
HcalShapes.h:38
HcalShapes::ZECOTEK
Definition:
HcalShapes.h:20
ZDCShape
shaper for ZDC
Definition:
ZDCShape.h:15
HcalShapes
Definition:
HcalShapes.h:18
CaloVShape
Electronic response of the preamp.
Definition:
CaloVShape.h:11
CaloShapes
Definition:
CaloShapes.h:9
ZDCShape.h
HcalDbService
Definition:
HcalDbService.h:23
HcalShapes::HF
Definition:
HcalShapes.h:20
Frameworkfwd.h
HcalDbService.h
HcalShapes::LONG
Definition:
HcalShapes.h:20
HcalShape.h
HcalShapes::ShapeMap
std::map< int, const CaloVShape * > ShapeMap
Definition:
HcalShapes.h:29
Generated for CMSSW Reference Manual by
1.8.16