Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
TrackPropagation
NavGeometry
interface
NavVolume.h
Go to the documentation of this file.
1
#ifndef NavVolume_H
2
#define NavVolume_H
3
4
#include "
MagneticField/VolumeGeometry/interface/MagVolume.h
"
5
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
6
#include "
DetectorDescription/Core/interface/DDSolidShapes.h
"
7
8
#include "
TrackPropagation/NavGeometry/interface/SurfaceAndBounds.h
"
9
#include "
TrackPropagation/NavGeometry/interface/VolumeCrossReturnType.h
"
10
11
#include <vector>
12
13
class
NavSurface
;
14
class
Bounds
;
15
class
TrajectoryStateOnSurface
;
16
17
class
NavVolume
:
public
MagVolume
{
18
public
:
19
20
NavVolume
(
const
PositionType
&
pos
,
const
RotationType
&
rot
,
21
DDSolidShape
shape,
const
MagneticFieldProvider<float>
* mfp) :
22
MagVolume
(pos,rot,shape,mfp) {}
23
24
typedef
std::vector<SurfaceAndBounds>
Container
;
26
27
28
virtual
~NavVolume
() {}
29
30
virtual
Container
nextSurface
(
const
LocalPoint
&
pos
,
const
LocalVector
& mom,
double
charge
,
31
PropagationDirection
propDir =
alongMomentum
)
const
= 0;
32
34
virtual
Container
nextSurface
(
const
LocalPoint
&
pos
,
const
LocalVector
& mom,
double
charge
,
35
PropagationDirection
propDir,
36
ConstReferenceCountingPointer<Surface>
NotThisSurfaceP)
const
= 0;
37
38
virtual
VolumeCrossReturnType
crossToNextVolume
(
const
TrajectoryStateOnSurface
& currentState,
39
const
Propagator
& prop)
const
= 0;
40
41
virtual
bool
isIron
()
const
= 0;
42
43
};
44
45
#endif
46
pos
Definition:
Histograms.cc:19
ConstReferenceCountingPointer< Surface >
Vector3DBase< float, LocalTag >
DDSolidShape
DDSolidShape
Definition:
DDSolidShapes.h:6
NavVolume::nextSurface
virtual Container nextSurface(const LocalPoint &pos, const LocalVector &mom, double charge, PropagationDirection propDir=alongMomentum) const =0
alongMomentum
Definition:
PropagationDirection.h:4
NavVolume::crossToNextVolume
virtual VolumeCrossReturnType crossToNextVolume(const TrajectoryStateOnSurface ¤tState, const Propagator &prop) const =0
VolumeCrossReturnType.h
MagVolume.h
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:15
DeDxDiscriminatorTools::charge
double charge(const std::vector< uint8_t > &Ampls)
Definition:
DeDxDiscriminatorTools.cc:43
NavVolume::NavVolume
NavVolume(const PositionType &pos, const RotationType &rot, DDSolidShape shape, const MagneticFieldProvider< float > *mfp)
Definition:
NavVolume.h:20
NavVolume::Container
std::vector< SurfaceAndBounds > Container
Definition:
NavVolume.h:24
VolumeCrossReturnType
Definition:
VolumeCrossReturnType.h:9
MagVolume
Definition:
MagVolume.h:14
TkRotation< float >
DDSolidShapes.h
PropagationDirection.h
NavVolume
Definition:
NavVolume.h:17
Propagator
Definition:
Propagator.h:38
NavVolume::~NavVolume
virtual ~NavVolume()
Definition:
NavVolume.h:28
SurfaceAndBounds.h
NavVolume::isIron
virtual bool isIron() const =0
Point3DBase< float, GlobalTag >
Bounds
Definition:
Bounds.h:18
MagneticFieldProvider< float >
makeMuonMisalignmentScenario.rot
list rot
Definition:
makeMuonMisalignmentScenario.py:320
NavSurface
Definition:
NavSurface.h:13
Generated for CMSSW Reference Manual by
1.8.5