CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
fastsim::Geometry Class Reference

Definition the tracker geometry (vectors of forward/barrel layers). More...

#include <Geometry.h>

Public Member Functions

const std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > & barrelLayers () const
 Return the vector of barrel layers. More...
 
const std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > & forwardLayers () const
 Return the vector of forward layers (disks). More...
 
 Geometry (const edm::ParameterSet &cfg)
 Constructor. More...
 
double getMagneticFieldZ (const math::XYZTLorentzVector &position) const
 Initializes the tracker geometry. More...
 
double getMaxRadius ()
 Upper bound of the radius of the whole tracker geometry. More...
 
double getMaxZ ()
 Upper bound of the length/2 (0 to +Z) of the whole tracker geometry. More...
 
const BarrelSimplifiedGeometrynextLayer (const BarrelSimplifiedGeometry *layer) const
 Helps to navigate through the vector of barrel layers. More...
 
const ForwardSimplifiedGeometrynextLayer (const ForwardSimplifiedGeometry *layer) const
 Helps to navigate through the vector of forward layers. More...
 
const BarrelSimplifiedGeometrypreviousLayer (const BarrelSimplifiedGeometry *layer) const
 Helps to navigate through the vector of barrel layers. More...
 
const ForwardSimplifiedGeometrypreviousLayer (const ForwardSimplifiedGeometry *layer) const
 Helps to navigate through the vector of forward layers. More...
 
void update (const edm::EventSetup &iSetup, const std::map< std::string, InteractionModel * > &interactionModelMap)
 Initializes the tracker geometry. More...
 
 ~Geometry ()
 Default destructor. More...
 

Private Attributes

const bool barrelBoundary_
 Upper bound of the length/2 (0 to +Z) of the whole tracker geometry. More...
 
const std::vector< edm::ParameterSetbarrelLayerCfg_
 The config in which all parameters of the barrel layers are defined. More...
 
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
 The vector of barrel layers (increasing radius) More...
 
unsigned long long cacheIdentifierIdealMagneticField_
 Check interval of validity of the magnetic field. More...
 
unsigned long long cacheIdentifierTrackerRecoGeometry_
 Check interval of validity of the tracker geometry. More...
 
const double fixedMagneticFieldZ_
 Use a uniform magnetic field or non-uniform from MagneticFieldRecord. More...
 
const bool forwardBoundary_
 Hack to interface "old" calo to "new" tracking. More...
 
const std::vector< edm::ParameterSetforwardLayerCfg_
 The config in which all parameters of the forward layers are defined. More...
 
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
 The vector of forward layers (increasing Z-position) More...
 
const GeometricSearchTrackergeometricSearchTracker_
 
const MagneticFieldmagneticField_
 The tracker geometry. More...
 
const double maxRadius_
 
const double maxZ_
 Upper bound of the radius of the whole tracker geometry. More...
 
std::unique_ptr< MagneticFieldownedMagneticField_
 Needed to create a uniform magnetic field if speciefied in config. More...
 
const std::string trackerAlignmentLabel_
 The tracker alignment label. More...
 
const edm::ParameterSet trackerBarrelBoundaryCfg_
 Hack to interface "old" calo to "new" tracking. More...
 
const edm::ParameterSet trackerForwardBoundaryCfg_
 Hack to interface "old" calo to "new" tracking. More...
 
const bool useFixedMagneticFieldZ_
 Needed to create a uniform magnetic field if speciefied in config. More...
 
const bool useTrackerRecoGeometryRecord_
 Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of tracker material that reflects active layers. More...
 

Friends

std::ostream & operator<< (std::ostream &o, const fastsim::Geometry &geometry)
 Provides some basic output for e.g. debugging. More...
 

Detailed Description

Definition the tracker geometry (vectors of forward/barrel layers).

This class models the material budget of the tracker. Those are reflected by 2 vectors of forward (disks, ordered by increasing Z-position) and barrel layers respectively (cylinders, ordered by increasing radius). Furthermore, initiatilizes the magnetic field used for propagation of particles inside the tracker.

Definition at line 32 of file Geometry.h.

Constructor & Destructor Documentation

Geometry::Geometry ( const edm::ParameterSet cfg)

Constructor.

Definition at line 23 of file Geometry.cc.

26  geometricSearchTracker_(nullptr),
27  magneticField_(nullptr),
28  useFixedMagneticFieldZ_(cfg.exists("magneticFieldZ")),
29  fixedMagneticFieldZ_(cfg.getUntrackedParameter<double>("magneticFieldZ", 0.)),
30  useTrackerRecoGeometryRecord_(cfg.getUntrackedParameter<bool>("useTrackerRecoGeometryRecord", true)),
31  trackerAlignmentLabel_(cfg.getUntrackedParameter<std::string>("trackerAlignmentLabel", "")),
32  barrelLayerCfg_(cfg.getParameter<std::vector<edm::ParameterSet>>("BarrelLayers")),
33  forwardLayerCfg_(cfg.getParameter<std::vector<edm::ParameterSet>>("EndcapLayers")),
34  maxRadius_(cfg.getUntrackedParameter<double>("maxRadius", 500.)),
35  maxZ_(cfg.getUntrackedParameter<double>("maxZ", 1200.)),
36  barrelBoundary_(cfg.exists("trackerBarrelBoundary")) // Hack to interface "old" calo to "new" tracking
37  ,
38  forwardBoundary_(cfg.exists("trackerForwardBoundary")) // Hack to interface "old" calo to "new" tracking
39  ,
41  ? cfg.getParameter<edm::ParameterSet>("trackerBarrelBoundary")
42  : edm::ParameterSet()) // Hack to interface "old" calo to "new" tracking
43  ,
45  ? cfg.getParameter<edm::ParameterSet>("trackerForwardBoundary")
46  : edm::ParameterSet()) // Hack to interface "old" calo to "new" tracking
47  {};
const bool useTrackerRecoGeometryRecord_
Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of track...
Definition: Geometry.h:158
T getParameter(std::string const &) const
unsigned long long cacheIdentifierTrackerRecoGeometry_
Check interval of validity of the tracker geometry.
Definition: Geometry.h:150
T getUntrackedParameter(std::string const &, T const &) const
const GeometricSearchTracker * geometricSearchTracker_
Definition: Geometry.h:153
const MagneticField * magneticField_
The tracker geometry.
Definition: Geometry.h:154
const std::vector< edm::ParameterSet > forwardLayerCfg_
The config in which all parameters of the forward layers are defined.
Definition: Geometry.h:163
bool exists(std::string const &parameterName) const
checks if a parameter exists
const std::vector< edm::ParameterSet > barrelLayerCfg_
The config in which all parameters of the barrel layers are defined.
Definition: Geometry.h:161
const double fixedMagneticFieldZ_
Use a uniform magnetic field or non-uniform from MagneticFieldRecord.
Definition: Geometry.h:156
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
Definition: Geometry.h:165
const edm::ParameterSet trackerForwardBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:170
const std::string trackerAlignmentLabel_
The tracker alignment label.
Definition: Geometry.h:159
const bool forwardBoundary_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:168
const edm::ParameterSet trackerBarrelBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:169
const double maxRadius_
Definition: Geometry.h:164
const bool useFixedMagneticFieldZ_
Needed to create a uniform magnetic field if speciefied in config.
Definition: Geometry.h:155
const bool barrelBoundary_
Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.
Definition: Geometry.h:167
unsigned long long cacheIdentifierIdealMagneticField_
Check interval of validity of the magnetic field.
Definition: Geometry.h:151
Geometry::~Geometry ( )

Default destructor.

Definition at line 21 of file Geometry.cc.

21 { ; }

Member Function Documentation

const std::vector<std::unique_ptr<BarrelSimplifiedGeometry> >& fastsim::Geometry::barrelLayers ( ) const
inline

Return the vector of barrel layers.

Ordered by increasing radius (0 to +inf).

Returns
The barrel layers according to defined geometry.

Definition at line 62 of file Geometry.h.

Referenced by fastsim::LayerNavigator::moveParticleToNextLayer().

62 { return barrelLayers_; }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:144
const std::vector<std::unique_ptr<ForwardSimplifiedGeometry> >& fastsim::Geometry::forwardLayers ( ) const
inline

Return the vector of forward layers (disks).

Ordered by increasing Z-position (-inf to +inf).

Returns
The forward layers according to defined geometry.

Definition at line 69 of file Geometry.h.

Referenced by fastsim::LayerNavigator::moveParticleToNextLayer().

69 { return forwardLayers_; }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:146
double Geometry::getMagneticFieldZ ( const math::XYZTLorentzVector position) const

Initializes the tracker geometry.

Get the field from the MagneticFieldRecord (or set constant if defined in python config)

Parameters
positionThe position where you want to get the magnetic field (field only in Z direction).
Returns
The magnetic field (Z-direction) for a given position.

Definition at line 154 of file Geometry.cc.

References MagneticField::inTesla(), magneticField_, and PV3DBase< T, PVType, FrameType >::z().

Referenced by fastsim::LayerNavigator::moveParticleToNextLayer(), and FastSimProducer::produce().

154  {
155  return magneticField_->inTesla(GlobalPoint(position.X(), position.Y(), position.Z())).z();
156 }
const MagneticField * magneticField_
The tracker geometry.
Definition: Geometry.h:154
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
T z() const
Definition: PV3DBase.h:61
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
static int position[264][3]
Definition: ReadPGInfo.cc:289
double fastsim::Geometry::getMaxRadius ( )
inline

Upper bound of the radius of the whole tracker geometry.

Necessary to initialize the magnetic field within this volume.

Returns
Upper bound of radius of the whole tracker geometry

Definition at line 76 of file Geometry.h.

76 { return maxRadius_; }
const double maxRadius_
Definition: Geometry.h:164
double fastsim::Geometry::getMaxZ ( )
inline

Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.

Necessary to initialize the magnetic field within this volume.

Returns
Upper bound of length/2 of the whole tracker geometry

Definition at line 83 of file Geometry.h.

References EcalTangentSkim_cfg::o, and edm::operator<<().

83 { return maxZ_; }
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
Definition: Geometry.h:165
const BarrelSimplifiedGeometry* fastsim::Geometry::nextLayer ( const BarrelSimplifiedGeometry layer) const
inline

Helps to navigate through the vector of barrel layers.

For a given layer, returns the next layer (as ordered in std::vector<...> barrelLayers_).

Parameters
layerA barrel layer
Returns
The next layer (increasing radius). Returns 0 if last layer reached.

Definition at line 94 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

Referenced by fastsim::LayerNavigator::moveParticleToNextLayer().

94  {
95  if (layer == nullptr) {
96  return nullptr;
97  }
98  unsigned nextLayerIndex = layer->index() + 1;
99  return nextLayerIndex < barrelLayers_.size() ? barrelLayers_[nextLayerIndex].get() : nullptr;
100  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:144
const ForwardSimplifiedGeometry* fastsim::Geometry::nextLayer ( const ForwardSimplifiedGeometry layer) const
inline

Helps to navigate through the vector of forward layers.

For a given layer, returns the next layer (as ordered in std::vector<...> forwardLayers_).

Parameters
layerA forward layer
Returns
The next layer (increasing Z-position). Returns 0 if last layer reached.

Definition at line 108 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

108  {
109  if (layer == nullptr) {
110  return nullptr;
111  }
112  unsigned nextLayerIndex = layer->index() + 1;
113  return nextLayerIndex < forwardLayers_.size() ? forwardLayers_[nextLayerIndex].get() : nullptr;
114  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:146
const BarrelSimplifiedGeometry* fastsim::Geometry::previousLayer ( const BarrelSimplifiedGeometry layer) const
inline

Helps to navigate through the vector of barrel layers.

For a given layer, returns the previous layer (as ordered in std::vector<...> barrelLayers_).

Parameters
layerA barrel layer
Returns
The previous layer (decreasing radius). Returns 0 if first layer reached.

Definition at line 122 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

Referenced by fastsim::LayerNavigator::moveParticleToNextLayer().

122  {
123  if (layer == nullptr) {
124  return barrelLayers_.back().get();
125  }
126  return layer->index() > 0 ? barrelLayers_[layer->index() - 1].get() : nullptr;
127  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:144
const ForwardSimplifiedGeometry* fastsim::Geometry::previousLayer ( const ForwardSimplifiedGeometry layer) const
inline

Helps to navigate through the vector of forward layers.

For a given layer, returns the previous layer (as ordered in std::vector<...> forwardLayers_).

Parameters
layerA forward layer
Returns
The previous layer (decreasing Z-position). Returns 0 if first layer reached.

Definition at line 135 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

135  {
136  if (layer == nullptr) {
137  return forwardLayers_.back().get();
138  }
139  return layer->index() > 0 ? forwardLayers_[layer->index() - 1].get() : nullptr;
140  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:146
void Geometry::update ( const edm::EventSetup iSetup,
const std::map< std::string, InteractionModel * > &  interactionModelMap 
)

Initializes the tracker geometry.

Calls SimplifiedGeometryFactory to initialize the vectors of barrel/forward layers and provides magnetic field and interaction models for those.

Parameters
iSetupThe Event Setup.
interactionModelMapMap of all interaction models considered (for any layer)
See also
SimplifiedGeometryFactory

Definition at line 49 of file Geometry.cc.

References barrelBoundary_, barrelLayerCfg_, barrelLayers_, edm::eventsetup::EventSetupRecord::cacheIdentifier(), cacheIdentifierIdealMagneticField_, cacheIdentifierTrackerRecoGeometry_, fastsim::SimplifiedGeometryFactory::createBarrelSimplifiedGeometry(), fastsim::SimplifiedGeometryFactory::createForwardSimplifiedGeometry(), Exception, fixedMagneticFieldZ_, forwardBoundary_, forwardLayerCfg_, forwardLayers_, geometricSearchTracker_, edm::EventSetup::get(), HLT_2018_cff::magneticField, magneticField_, maxRadius_, maxZ_, fastsim::SimplifiedGeometryFactory::NEGFWD, ownedMagneticField_, fastsim::SimplifiedGeometryFactory::POSFWD, trackerAlignmentLabel_, trackerBarrelBoundaryCfg_, fastsim::SimplifiedGeometry::TRACKERBOUNDARY, trackerForwardBoundaryCfg_, useFixedMagneticFieldZ_, and useTrackerRecoGeometryRecord_.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), FastSimProducer::produce(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

50  {
52  iSetup.get<IdealMagneticFieldRecord>().cacheIdentifier() == cacheIdentifierIdealMagneticField_) {
53  return;
54  }
55 
56  //----------------
57  // find tracker reconstruction geometry
58  //----------------
61  edm::ESHandle<GeometricSearchTracker> geometricSearchTrackerHandle;
62  iSetup.get<TrackerRecoGeometryRecord>().get(trackerAlignmentLabel_, geometricSearchTrackerHandle);
63  geometricSearchTracker_ = &(*geometricSearchTrackerHandle);
64  }
65  }
66 
67  //----------------
68  // update magnetic field
69  //----------------
71  if (useFixedMagneticFieldZ_) // use constant magnetic field
72  {
75  } else // get magnetic field from EventSetup
76  {
78  iSetup.get<IdealMagneticFieldRecord>().get(magneticField);
79  magneticField_ = &(*magneticField);
80  }
81  }
82 
83  //---------------
84  // layer factory
85  //---------------
86  SimplifiedGeometryFactory simplifiedGeometryFactory(
87  geometricSearchTracker_, *magneticField_, interactionModelMap, maxRadius_, maxZ_);
88 
89  //---------------
90  // update barrel layers
91  //---------------
92  barrelLayers_.clear();
93  for (const edm::ParameterSet& layerCfg : barrelLayerCfg_) {
94  barrelLayers_.push_back(simplifiedGeometryFactory.createBarrelSimplifiedGeometry(layerCfg));
95  }
96 
97  // Hack to interface "old" calo to "new" tracking
98  if (barrelBoundary_) {
99  barrelLayers_.push_back(simplifiedGeometryFactory.createBarrelSimplifiedGeometry(trackerBarrelBoundaryCfg_));
101  }
102 
103  for (unsigned index = 0; index < barrelLayers_.size(); index++) {
104  // set index
105  barrelLayers_[index]->setIndex(index);
106  // check order
107  if (index > 0) {
108  if (barrelLayers_[index]->getRadius() <= barrelLayers_[index - 1]->getRadius()) {
109  throw cms::Exception("fastsim::Geometry")
110  << "barrel layers must be ordered according to increading radius"
111  << "\nbarrel layer " << index << " has radius smaller than or equal to radius of barrel layer " << index - 1
112  << " (" << barrelLayers_[index]->getRadius() << "/" << barrelLayers_[index - 1]->getRadius() << ")";
113  }
114  }
115  }
116 
117  //--------------
118  // update forward layers
119  //--------------
120  forwardLayers_.clear();
121  for (const edm::ParameterSet& layerCfg : forwardLayerCfg_) {
122  forwardLayers_.push_back(simplifiedGeometryFactory.createForwardSimplifiedGeometry(
124  forwardLayers_.insert(forwardLayers_.begin(),
125  simplifiedGeometryFactory.createForwardSimplifiedGeometry(
127  }
128 
129  // Hack to interface "old" calo to "new" tracking
130  if (forwardBoundary_) {
131  forwardLayers_.push_back(simplifiedGeometryFactory.createForwardSimplifiedGeometry(
134  forwardLayers_.insert(forwardLayers_.begin(),
135  simplifiedGeometryFactory.createForwardSimplifiedGeometry(
138  }
139 
140  for (unsigned index = 0; index < forwardLayers_.size(); index++) {
141  // set index
142  forwardLayers_[index]->setIndex(index);
143  // check order
144  if (index > 0) {
145  if (forwardLayers_[index]->getZ() <= forwardLayers_[index - 1]->getZ()) {
146  throw cms::Exception("fastsim::Geometry")
147  << "forward layers must be ordered according to increasing z"
148  << "forward layer " << index << " has z smaller than or equal to z of forward layer " << index - 1;
149  }
150  }
151  }
152 }
const bool useTrackerRecoGeometryRecord_
Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of track...
Definition: Geometry.h:158
unsigned long long cacheIdentifier() const
unsigned long long cacheIdentifierTrackerRecoGeometry_
Check interval of validity of the tracker geometry.
Definition: Geometry.h:150
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:144
const GeometricSearchTracker * geometricSearchTracker_
Definition: Geometry.h:153
const MagneticField * magneticField_
The tracker geometry.
Definition: Geometry.h:154
const std::vector< edm::ParameterSet > forwardLayerCfg_
The config in which all parameters of the forward layers are defined.
Definition: Geometry.h:163
const std::vector< edm::ParameterSet > barrelLayerCfg_
The config in which all parameters of the barrel layers are defined.
Definition: Geometry.h:161
const double fixedMagneticFieldZ_
Use a uniform magnetic field or non-uniform from MagneticFieldRecord.
Definition: Geometry.h:156
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
Definition: Geometry.h:165
const edm::ParameterSet trackerForwardBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:170
const std::string trackerAlignmentLabel_
The tracker alignment label.
Definition: Geometry.h:159
std::unique_ptr< MagneticField > ownedMagneticField_
Needed to create a uniform magnetic field if speciefied in config.
Definition: Geometry.h:148
const bool forwardBoundary_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:168
Constructs a tracker layer according to entry in python config (incl interaction models).
const edm::ParameterSet trackerBarrelBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
Definition: Geometry.h:169
const double maxRadius_
Definition: Geometry.h:164
T get() const
Definition: EventSetup.h:73
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:146
const bool useFixedMagneticFieldZ_
Needed to create a uniform magnetic field if speciefied in config.
Definition: Geometry.h:155
const bool barrelBoundary_
Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.
Definition: Geometry.h:167
unsigned long long cacheIdentifierIdealMagneticField_
Check interval of validity of the magnetic field.
Definition: Geometry.h:151

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
const fastsim::Geometry geometry 
)
friend

Provides some basic output for e.g. debugging.

Member Data Documentation

const bool fastsim::Geometry::barrelBoundary_
private

Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.

Hack to interface "old" calo to "new" tracking

Definition at line 167 of file Geometry.h.

Referenced by update().

const std::vector<edm::ParameterSet> fastsim::Geometry::barrelLayerCfg_
private

The config in which all parameters of the barrel layers are defined.

Definition at line 161 of file Geometry.h.

Referenced by update().

std::vector<std::unique_ptr<BarrelSimplifiedGeometry> > fastsim::Geometry::barrelLayers_
private

The vector of barrel layers (increasing radius)

Definition at line 144 of file Geometry.h.

Referenced by fastsim::operator<<(), and update().

unsigned long long fastsim::Geometry::cacheIdentifierIdealMagneticField_
private

Check interval of validity of the magnetic field.

Definition at line 151 of file Geometry.h.

Referenced by update().

unsigned long long fastsim::Geometry::cacheIdentifierTrackerRecoGeometry_
private

Check interval of validity of the tracker geometry.

Definition at line 150 of file Geometry.h.

Referenced by update().

const double fastsim::Geometry::fixedMagneticFieldZ_
private

Use a uniform magnetic field or non-uniform from MagneticFieldRecord.

Definition at line 156 of file Geometry.h.

Referenced by update().

const bool fastsim::Geometry::forwardBoundary_
private

Hack to interface "old" calo to "new" tracking.

Definition at line 168 of file Geometry.h.

Referenced by update().

const std::vector<edm::ParameterSet> fastsim::Geometry::forwardLayerCfg_
private

The config in which all parameters of the forward layers are defined.

Definition at line 163 of file Geometry.h.

Referenced by update().

std::vector<std::unique_ptr<ForwardSimplifiedGeometry> > fastsim::Geometry::forwardLayers_
private

The vector of forward layers (increasing Z-position)

Definition at line 146 of file Geometry.h.

Referenced by fastsim::operator<<(), and update().

const GeometricSearchTracker* fastsim::Geometry::geometricSearchTracker_
private

Definition at line 153 of file Geometry.h.

Referenced by update().

const MagneticField* fastsim::Geometry::magneticField_
private

The tracker geometry.

The magnetic field

Definition at line 154 of file Geometry.h.

Referenced by getMagneticFieldZ(), and update().

const double fastsim::Geometry::maxRadius_
private

Definition at line 164 of file Geometry.h.

Referenced by update().

const double fastsim::Geometry::maxZ_
private

Upper bound of the radius of the whole tracker geometry.

Definition at line 165 of file Geometry.h.

Referenced by update().

std::unique_ptr<MagneticField> fastsim::Geometry::ownedMagneticField_
private

Needed to create a uniform magnetic field if speciefied in config.

Definition at line 148 of file Geometry.h.

Referenced by update().

const std::string fastsim::Geometry::trackerAlignmentLabel_
private

The tracker alignment label.

Definition at line 159 of file Geometry.h.

Referenced by update().

const edm::ParameterSet fastsim::Geometry::trackerBarrelBoundaryCfg_
private

Hack to interface "old" calo to "new" tracking.

Definition at line 169 of file Geometry.h.

Referenced by update().

const edm::ParameterSet fastsim::Geometry::trackerForwardBoundaryCfg_
private

Hack to interface "old" calo to "new" tracking.

Definition at line 170 of file Geometry.h.

Referenced by update().

const bool fastsim::Geometry::useFixedMagneticFieldZ_
private

Needed to create a uniform magnetic field if speciefied in config.

Definition at line 155 of file Geometry.h.

Referenced by update().

const bool fastsim::Geometry::useTrackerRecoGeometryRecord_
private

Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of tracker material that reflects active layers.

Definition at line 158 of file Geometry.h.

Referenced by update().