Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
SimRomanPot
SimFP420
src
DigiConverterFP420.cc
Go to the documentation of this file.
1
// File: DigiConverterFP420.cc
3
// Date: 12.2006
4
// Description: DigiConverterFP420 for FP420
5
// Modifications:
7
#include "
SimRomanPot/SimFP420/interface/DigiConverterFP420.h
"
8
9
DigiConverterFP420::DigiConverterFP420
(
float
in
,
int
verbosity
) {
10
electronperADC
=
in
;
11
verbos
=
verbosity
;
12
13
constexpr
int
defaultBits = 10;
14
constexpr
int
largestBits = 30;
15
constexpr
unsigned
int
allOne = ~0;
16
17
// example is in SiStrips:
18
// static SimpleConfigurable<int>
19
// adcBits(defaultBits, "DigiConverterFP420:rawDataAdcBits");
20
adcBits
= defaultBits;
21
22
if
(
adcBits
> largestBits ||
adcBits
< 1)
23
adcBits
= largestBits;
24
25
theMaxADC
= ~(allOne <<
adcBits
);
26
// std::cout << "theMaxADC= "<< theMaxADC << std::endl; // = 1023
27
if
(
verbos
> 0) {
28
std::cout
<<
" ***DigiConverterFP420: constructor"
<< std::endl;
29
std::cout
<<
"with known electronperADC = "
<<
electronperADC
<<
"the adcBits = "
<<
adcBits
30
<<
" theMaxADC= "
<<
theMaxADC
<<
"for known defaultBits= "
<< defaultBits
31
<<
" largestBits= "
<< largestBits << std::endl;
32
}
33
}
34
35
DConverterFP420::DigitalMapType
DigiConverterFP420::convert
(
const
signal_map_type
&analogSignal) {
36
DConverterFP420::DigitalMapType
_temp;
37
38
for
(signal_map_type::const_iterator
i
= analogSignal.begin();
i
!= analogSignal.end();
i
++) {
39
// convert analog amplitude to digital, means integer number simulating ADC
40
// digitization!
41
// with truncation check
42
int
adc
=
convert
((*i).second);
43
44
if
(
verbos
> 0) {
45
std::cout
<<
" ***DigiConverterFP420: convert: after truncation "
<< std::endl;
46
std::cout
<<
"adc = "
<< adc <<
" (*i).first = "
<< (*i).first << std::endl;
47
}
48
if
(adc > 0)
49
_temp.insert(_temp.end(),
DigitalMapType::value_type
((*i).first, adc));
50
}
51
52
return
_temp;
53
}
54
55
int
DigiConverterFP420::truncate
(
float
in_adc) {
56
int
adc
= int(in_adc);
57
if
(
verbos
> 0) {
58
std::cout
<<
" ***DigiConverterFP420: truncate"
<< std::endl;
59
std::cout
<<
"if adc = "
<< adc <<
"bigger theMaxADC = "
<<
theMaxADC
<<
" adc=theMaxADC !!!"
<< std::endl;
60
}
61
if
(adc >
theMaxADC
)
62
adc =
theMaxADC
;
63
64
return
adc
;
65
}
DigiConverterFP420::theMaxADC
int theMaxADC
Definition:
DigiConverterFP420.h:17
mps_fire.i
i
Definition:
mps_fire.py:428
DigiConverterFP420::truncate
int truncate(float in_adc)
Definition:
DigiConverterFP420.cc:55
DConverterFP420::DigitalMapType
std::map< int, int, std::less< int > > DigitalMapType
Definition:
DConverterFP420.h:8
recoMuon::in
Definition:
RecoMuonEnumerators.h:6
DigiConverterFP420::DigiConverterFP420
DigiConverterFP420(float in, int)
Definition:
DigiConverterFP420.cc:9
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition:
JetExtendedAssociation.h:30
DigiConverterFP420.h
DigiConverterFP420::electronperADC
float electronperADC
Definition:
DigiConverterFP420.h:16
DigiConverterFP420::verbos
int verbos
Definition:
DigiConverterFP420.h:19
DConverterFP420::signal_map_type
PileUpFP420::signal_map_type signal_map_type
Definition:
DConverterFP420.h:9
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:144
DigiConverterFP420::convert
DigitalMapType convert(const signal_map_type &) override
Definition:
DigiConverterFP420.cc:35
HLT_FULL_cff.verbosity
tuple verbosity
Definition:
HLT_FULL_cff.py:5708
DigiConverterFP420::adcBits
int adcBits
Definition:
DigiConverterFP420.h:18
gpuClustering::adc
uint16_t *__restrict__ uint16_t const *__restrict__ adc
Definition:
gpuClusterChargeCut.h:21
Generated for CMSSW Reference Manual by
1.8.5