Main Page
Namespaces
Classes
Package Documentation
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
#include "
FWCore/Utilities/interface/GCC11Compatibility.h
"
14
15
16
class
NavSurface
;
17
class
Bounds
;
18
class
TrajectoryStateOnSurface
;
19
20
class
NavVolume
:
public
MagVolume
{
21
public
:
22
23
NavVolume
(
const
PositionType
&
pos
,
const
RotationType
&
rot
,
24
DDSolidShape
shape,
const
MagneticFieldProvider<float>
* mfp) :
25
MagVolume
(pos,rot,shape,mfp) {}
26
27
typedef
std::vector<SurfaceAndBounds>
Container
;
29
30
31
virtual
~NavVolume
() {}
32
33
virtual
Container
nextSurface
(
const
LocalPoint
&
pos
,
const
LocalVector
& mom,
double
charge
,
34
PropagationDirection
propDir =
alongMomentum
)
const
= 0;
35
37
virtual
Container
nextSurface
(
const
LocalPoint
& pos,
const
LocalVector
& mom,
double
charge,
38
PropagationDirection
propDir,
39
ConstReferenceCountingPointer<Surface>
NotThisSurfaceP)
const
= 0;
40
41
virtual
VolumeCrossReturnType
crossToNextVolume
(
const
TrajectoryStateOnSurface
& currentState,
42
const
Propagator
& prop)
const
= 0;
43
44
virtual
bool
isIron
()
const
= 0;
45
46
};
47
48
#endif
49
NavVolume::isIron
virtual bool isIron() const =0
ConstReferenceCountingPointer< Surface >
DDSolidShape
DDSolidShape
Definition:
DDSolidShapes.h:6
alongMomentum
Definition:
PropagationDirection.h:4
VolumeCrossReturnType.h
MagVolume.h
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:17
NavVolume::NavVolume
NavVolume(const PositionType &pos, const RotationType &rot, DDSolidShape shape, const MagneticFieldProvider< float > *mfp)
Definition:
NavVolume.h:23
NavVolume::Container
std::vector< SurfaceAndBounds > Container
Definition:
NavVolume.h:27
MagVolume::LocalPoint
GloballyPositioned< float >::LocalPoint LocalPoint
Definition:
MagVolume.h:18
MagVolume::LocalVector
GloballyPositioned< float >::LocalVector LocalVector
Definition:
MagVolume.h:19
NavVolume::crossToNextVolume
virtual VolumeCrossReturnType crossToNextVolume(const TrajectoryStateOnSurface ¤tState, const Propagator &prop) const =0
VolumeCrossReturnType
Definition:
VolumeCrossReturnType.h:9
NavVolume::nextSurface
virtual Container nextSurface(const LocalPoint &pos, const LocalVector &mom, double charge, PropagationDirection propDir=alongMomentum) const =0
MagVolume
Definition:
MagVolume.h:14
TkRotation< float >
DDSolidShapes.h
PropagationDirection.h
NavVolume
Definition:
NavVolume.h:20
Propagator
Definition:
Propagator.h:43
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition:
ALCARECOTkAlJpsiMuMu_cff.py:47
pos
Definition:
PixelAliasList.h:14
NavVolume::~NavVolume
virtual ~NavVolume()
Definition:
NavVolume.h:31
SurfaceAndBounds.h
GCC11Compatibility.h
Point3DBase< float, GlobalTag >
Bounds
Definition:
Bounds.h:22
MagneticFieldProvider< float >
makeMuonMisalignmentScenario.rot
rot
Definition:
makeMuonMisalignmentScenario.py:320
NavSurface
Definition:
NavSurface.h:16
Generated for CMSSW Reference Manual by
1.8.11