Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
MeasurementCreator.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file MeasurementCreator.h
1
/* Copyright 2008-2010, Technische Universitaet Muenchen,
2
Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3
4
This file is part of GENFIT.
5
6
GENFIT is free software: you can redistribute it and/or modify
7
it under the terms of the GNU Lesser General Public License as published
8
by the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
GENFIT is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public License
17
along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18
*/
29
#ifndef genfit_MeasurementOnPlaneCreator_h
30
#define genfit_MeasurementOnPlaneCreator_h
31
32
#include "
AbsMeasurement.h
"
33
#include "
HelixTrackModel.h
"
34
35
#include <TObject.h>
36
#include <TVector3.h>
37
38
39
namespace
genfit {
40
41
42
enum
eMeasurementType
{
Pixel
= 0,
43
Spacepoint
,
44
ProlateSpacepoint
,
45
StripU
,
46
StripV
,
47
StripUV
,
48
Wire
,
49
WirePoint
,
50
nMeasurementTypes
51
};
52
53
57
class
MeasurementCreator
:
public
TObject {
58
59
60
public
:
61
62
// Constructors/Destructors ---------
63
MeasurementCreator
();
64
65
~MeasurementCreator
() {
delete
trackModel_
;}
66
68
void
setTrackModel
(
const
HelixTrackModel
* model) {
delete
trackModel_
;
trackModel_
= model;}
69
void
setResolution
(
double
resolution) {
resolution_
= resolution;}
70
void
setResolutionWire
(
double
resolutionWire) {
resolutionWire_
= resolutionWire;}
71
void
setOutlierProb
(
double
outlierProb) {
outlierProb_
= outlierProb;}
72
void
setOutlierRange
(
double
outlierRange) {
outlierRange_
= outlierRange;}
73
void
setThetaDetPlane
(
double
thetaDetPlane) {
thetaDetPlane_
= thetaDetPlane;}
74
void
setPhiDetPlane
(
double
phiDetPlane) {
phiDetPlane_
= phiDetPlane;}
75
void
setWireDir
(
const
TVector3 wireDir) {
wireDir_
= wireDir;
wireDir_
.SetMag(1.);}
76
void
setMinDrift
(
double
minDrift) {
minDrift_
= minDrift;}
77
void
setMaxDrift
(
double
maxDrift) {
maxDrift_
= maxDrift;}
78
void
setIdealLRResolution
(
bool
idealLRResolution) {
idealLRResolution_
= idealLRResolution;}
79
void
setUseSkew
(
bool
useSkew) {
useSkew_
= useSkew;}
80
void
setSkewAngle
(
double
skewAngle) {
skewAngle_
= skewAngle;}
81
void
setNSuperLayer
(
int
nSuperLayer) {
nSuperLayer_
= nSuperLayer;}
82
void
setDebug
(
bool
debug
) {
debug_
=
debug
;}
83
84
85
std::vector<genfit::AbsMeasurement*>
create
(
eMeasurementType
,
double
tracklength,
bool
& outlier,
int
& lr);
86
std::vector<genfit::AbsMeasurement*>
create
(
eMeasurementType
type
,
double
tracklength) {
87
bool
dummy1;
88
int
dummy2;
89
return
create
(type, tracklength, dummy1, dummy2);
90
}
91
92
void
reset
();
93
94
private
:
95
96
const
HelixTrackModel
*
trackModel_
;
// ownership
97
98
double
resolution_
;
// cm; resolution of generated measurements
99
double
resolutionWire_
;
// cm; resolution in wire direction of generated measurements (wire and prolate sp measurements)
100
101
double
outlierProb_
;
102
double
outlierRange_
;
103
104
// planarMeasurement specific
105
double
thetaDetPlane_
;
// degree
106
double
phiDetPlane_
;
// degree
107
108
// WireMeasurement specific
109
int
wireCounter_
;
110
TVector3
wireDir_
;
111
double
minDrift_
;
112
double
maxDrift_
;
113
bool
idealLRResolution_
;
// resolve the l/r ambiguities of the wire measurements
114
bool
useSkew_
;
115
double
skewAngle_
;
116
int
nSuperLayer_
;
117
118
// misc
119
int
measurementCounter_
;
120
bool
debug_
;
121
122
123
public
:
124
ClassDef(
MeasurementCreator
,1)
125
126
};
127
128
}
/* End of namespace genfit */
131
#endif // genfit_MeasurementOnPlaneCreator_h
GenFit
blob
master
utilities
include
MeasurementCreator.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:17
using
1.8.2 with
sPHENIX GitHub integration