Alignment
CocoaModel
src
ALIPlane.cc
Go to the documentation of this file.
1
// COCOA class implementation file
2
//Id: ALIPlane.cc
3
//CAT: Fit
4
//
5
// History: v1.0
6
// Pedro Arce
7
8
#include "
Alignment/CocoaModel/interface/ALIPlane.h
"
9
#include "
Alignment/CocoaUtilities/interface/CocoaGlobals.h
"
10
#include "
Alignment/CocoaUtilities/interface/ALIUtils.h
"
11
12
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
13
//@@ Constructor
14
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15
ALIPlane::ALIPlane
(
const
CLHEP::Hep3Vector&
point
,
const
CLHEP::Hep3Vector& normal) : _point(
point
) {
16
_normal
=
normal
* (1. /
normal
.mag());
17
if
(
ALIUtils::debug
>= 5) {
18
ALIUtils::dump3v
(
_point
,
" Created ALIplane: point"
);
19
ALIUtils::dump3v
(
_normal
,
" Created ALIPlane: normal"
);
20
}
21
}
22
23
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
24
//@@ Project a std::vector onto this plane:
25
//@@ Project on normal to plane and substract this projection to vec
26
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
27
CLHEP::Hep3Vector
ALIPlane::project
(
const
CLHEP::Hep3Vector& vec) {
28
//---------- Project vec on normal to plane
29
ALIdouble
proj
= vec.dot(
_normal
) * (1. / vec.mag());
30
//---------- Substract this projection to vec
31
CLHEP::Hep3Vector vecproj = vec - (
proj
*
_normal
);
32
//- ALIUtils::dump3v( _normal, "plane _normal");
33
//- std::cout << " proj on normal " << proj << std::endl;
34
//- ALIUtils::dump3v( vec , "std::vector");
35
return
vecproj;
36
}
37
38
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
39
//@@ Project a std::vector onto this plane:
40
//@@ Project on normal to plane and substract this projection to vec
41
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
42
ALILine
ALIPlane::lineProject
(
const
CLHEP::Hep3Vector& vec) {
43
//---------- Project vec on normal to plane
44
ALIdouble
proj
= vec.dot(
_normal
) * (1. / vec.mag());
45
//---------- Substract this projection to vec
46
CLHEP::Hep3Vector vecproj = vec - (
proj
*
_normal
);
47
//- ALIUtils::dump3v( _normal, "plane _normal");
48
//- std::cout << " proj on normal " << proj << std::endl;
49
//- ALIUtils::dump3v( vec , "std::vector");
50
return
ALILine
(this->
_point
, vecproj);
51
}
ALIPlane::project
CLHEP::Hep3Vector project(const CLHEP::Hep3Vector &vec)
Definition:
ALIPlane.cc:27
ALIPlane::lineProject
ALILine lineProject(const CLHEP::Hep3Vector &vec)
Definition:
ALIPlane.cc:42
ALIPlane::ALIPlane
ALIPlane(const CLHEP::Hep3Vector &point, const CLHEP::Hep3Vector &normal)
Definition:
ALIPlane.cc:15
ALIUtils::debug
static ALIint debug
Definition:
ALIUtils.h:34
ALILine
Definition:
ALILine.h:16
ALIPlane.h
ALIPlane::_point
CLHEP::Hep3Vector _point
Definition:
ALIPlane.h:23
amptDefault_cfi.proj
proj
Definition:
amptDefault_cfi.py:13
ALIUtils.h
ALIdouble
long double ALIdouble
Definition:
CocoaGlobals.h:11
ALIPlane::_normal
CLHEP::Hep3Vector _normal
Definition:
ALIPlane.h:27
ALIUtils::dump3v
static void dump3v(const CLHEP::Hep3Vector &vec, const std::string &msg)
Definition:
ALIUtils.cc:58
CocoaGlobals.h
ALIPlane::normal
const CLHEP::Hep3Vector & normal() const
Definition:
ALIPlane.h:23
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition:
invegas.h:5
Generated for CMSSW Reference Manual by
1.8.16