SimRomanPot
SimFP420
interface
HitDigitizerFP420.h
Go to the documentation of this file.
1
#ifndef HitDigitizerFP420_h
2
#define HitDigitizerFP420_h
3
4
//#include "SimG4CMS/FP420/interface/FP420G4HitCollection.h"
5
//#include "SimG4CMS/FP420/interface/FP420G4Hit.h"
6
#include "
SimDataFormats/TrackingHit/interface/PSimHit.h
"
7
#include "
SimDataFormats/TrackingHit/interface/PSimHitContainer.h
"
8
#include "
SimRomanPot/SimFP420/interface/CDividerFP420.h
"
9
#include "
SimRomanPot/SimFP420/interface/CDrifterFP420.h
"
10
#include "
SimRomanPot/SimFP420/interface/IChargeFP420.h
"
11
12
#include <map>
13
#include <vector>
14
15
// Digitizes the response for a single FP420Hit
16
class
HitDigitizerFP420
{
17
public
:
18
typedef
std::map<int, float, std::less<int>>
hit_map_type
;
19
20
// HitDigitizerFP420(const edm::ParameterSet& conf, const ElectrodGeomDetUnit
21
// *det); HitDigitizerFP420(float in, float inp, float inpx, float inpy,float
22
// ild,float ildx,float ildy);
23
HitDigitizerFP420
(
float
in
,
float
ild,
float
ildx,
float
ildy,
float
in0,
float
in2,
float
in3,
int
verbosity
);
24
// HitDigitizerFP420(float in, float inp, float inpx, float inpy);
25
26
~HitDigitizerFP420
();
27
28
void
setChargeDivider
(
CDividerFP420
*
cd
) {
29
if
(
theCDividerFP420
)
30
delete
theCDividerFP420
;
31
theCDividerFP420
=
cd
;
32
}
33
void
setChargeCollectionDrifter
(
CDrifterFP420
*
cd
) {
34
if
(
theCDrifterFP420
)
35
delete
theCDrifterFP420
;
36
theCDrifterFP420
=
cd
;
37
}
38
void
setInduceChargeOnElectrods
(
IChargeFP420
*
cd
) {
39
if
(
theIChargeFP420
)
40
delete
theIChargeFP420
;
41
theIChargeFP420
=
cd
;
42
}
43
44
// CDividerFP420* getChargeDivider(){return theCDividerFP420;}
45
// CDrifterFP420* getChargeCollectionDrifter(){return theCDrifterFP420;}
46
// IChargeFP420* getInduceChargeOnElectrods(){return theIChargeFP420;}
47
48
// hit_map_type processHit(const PSimHit&, G4ThreeVector, int, int, double);
49
hit_map_type
processHit
(
const
PSimHit
&,
const
G4ThreeVector &,
int
,
int
,
double
,
int
,
double
,
double
,
int
);
50
51
private
:
52
CDividerFP420
*
theCDividerFP420
;
53
CDrifterFP420
*
theCDrifterFP420
;
54
IChargeFP420
*
theIChargeFP420
;
55
56
double
moduleThickness
;
57
// double pitch;
58
// double pitchX;
59
// double pitchY;
60
double
depletionVoltage
;
61
double
appliedVoltage
;
62
double
chargeMobility
;
63
double
temperature
;
64
bool
noDiffusion
;
65
double
chargeDistributionRMS
;
66
double
gevperelectron
;
67
68
G4ThreeVector
DriftDirection
(
const
G4ThreeVector &,
int
,
int
);
69
70
// typedef GloballyPositioned<double> Frame; // AZ
71
72
float
tanLorentzAnglePerTesla
;
// Lorentz angle tangent per Tesla
73
};
74
75
#endif
HitDigitizerFP420::DriftDirection
G4ThreeVector DriftDirection(const G4ThreeVector &, int, int)
Definition:
HitDigitizerFP420.cc:231
HitDigitizerFP420::processHit
hit_map_type processHit(const PSimHit &, const G4ThreeVector &, int, int, double, int, double, double, int)
Definition:
HitDigitizerFP420.cc:126
ctppsCommonDQMSource_cfi.verbosity
verbosity
Definition:
ctppsCommonDQMSource_cfi.py:14
HitDigitizerFP420::theCDividerFP420
CDividerFP420 * theCDividerFP420
Definition:
HitDigitizerFP420.h:52
HitDigitizerFP420::depletionVoltage
double depletionVoltage
Definition:
HitDigitizerFP420.h:60
HitDigitizerFP420::setInduceChargeOnElectrods
void setInduceChargeOnElectrods(IChargeFP420 *cd)
Definition:
HitDigitizerFP420.h:38
PSimHitContainer.h
HitDigitizerFP420::temperature
double temperature
Definition:
HitDigitizerFP420.h:63
HitDigitizerFP420::setChargeCollectionDrifter
void setChargeCollectionDrifter(CDrifterFP420 *cd)
Definition:
HitDigitizerFP420.h:33
HitDigitizerFP420::HitDigitizerFP420
HitDigitizerFP420(float in, float ild, float ildx, float ildy, float in0, float in2, float in3, int verbosity)
Definition:
HitDigitizerFP420.cc:29
HitDigitizerFP420::gevperelectron
double gevperelectron
Definition:
HitDigitizerFP420.h:66
HitDigitizerFP420::moduleThickness
double moduleThickness
Definition:
HitDigitizerFP420.h:56
HitDigitizerFP420::setChargeDivider
void setChargeDivider(CDividerFP420 *cd)
Definition:
HitDigitizerFP420.h:28
HitDigitizerFP420::hit_map_type
std::map< int, float, std::less< int > > hit_map_type
Definition:
HitDigitizerFP420.h:18
CDividerFP420.h
PSimHit.h
HitDigitizerFP420::~HitDigitizerFP420
~HitDigitizerFP420()
Definition:
HitDigitizerFP420.cc:118
CDividerFP420
Definition:
CDividerFP420.h:12
HitDigitizerFP420::chargeMobility
double chargeMobility
Definition:
HitDigitizerFP420.h:62
HitDigitizerFP420::theCDrifterFP420
CDrifterFP420 * theCDrifterFP420
Definition:
HitDigitizerFP420.h:53
HitDigitizerFP420::theIChargeFP420
IChargeFP420 * theIChargeFP420
Definition:
HitDigitizerFP420.h:54
recoMuon::in
Definition:
RecoMuonEnumerators.h:6
HitDigitizerFP420::chargeDistributionRMS
double chargeDistributionRMS
Definition:
HitDigitizerFP420.h:65
IChargeFP420.h
HitDigitizerFP420::noDiffusion
bool noDiffusion
Definition:
HitDigitizerFP420.h:64
HitDigitizerFP420
Definition:
HitDigitizerFP420.h:16
HitDigitizerFP420::appliedVoltage
double appliedVoltage
Definition:
HitDigitizerFP420.h:61
CDrifterFP420
Definition:
CDrifterFP420.h:11
CDrifterFP420.h
hippyaddtobaddatafiles.cd
def cd(newdir)
Definition:
hippyaddtobaddatafiles.py:40
PSimHit
Definition:
PSimHit.h:15
HitDigitizerFP420::tanLorentzAnglePerTesla
float tanLorentzAnglePerTesla
Definition:
HitDigitizerFP420.h:72
IChargeFP420
Definition:
IChargeFP420.h:9
Generated for CMSSW Reference Manual by
1.8.16