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 34 of file Geometry.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 25 of file Geometry.cc.

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

Default destructor.

Definition at line 23 of file Geometry.cc.

23 {;}

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 66 of file Geometry.h.

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

66 { return barrelLayers_; }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:156
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 73 of file Geometry.h.

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

73 { return forwardLayers_; }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:157
double fastsim::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 161 of file Geometry.cc.

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

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

162 {
163  return magneticField_->inTesla(GlobalPoint(position.X(),position.Y(),position.Z())).z();
164 }
const MagneticField * magneticField_
The tracker geometry.
Definition: Geometry.h:164
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
T z() const
Definition: PV3DBase.h:64
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
static int position[264][3]
Definition: ReadPGInfo.cc:509
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 80 of file Geometry.h.

80 { return maxRadius_;}
const double maxRadius_
Definition: Geometry.h:171
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 87 of file Geometry.h.

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

87 { return maxZ_;}
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
Definition: Geometry.h:172
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 98 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

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

99  {
100  if(layer == nullptr)
101  {
102  return nullptr;
103  }
104  unsigned nextLayerIndex = layer->index() + 1;
105  return nextLayerIndex < barrelLayers_.size() ? barrelLayers_[nextLayerIndex].get() : nullptr;
106  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:156
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 114 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

115  {
116  if(layer == nullptr)
117  {
118  return nullptr;
119  }
120  unsigned nextLayerIndex = layer->index() + 1;
121  return nextLayerIndex < forwardLayers_.size() ? forwardLayers_[nextLayerIndex].get() : nullptr;
122  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:157
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 130 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

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

131  {
132  if(layer == nullptr)
133  {
134  return barrelLayers_.back().get();
135  }
136  return layer->index() > 0 ? barrelLayers_[layer->index() -1].get() : nullptr;
137  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:156
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 145 of file Geometry.h.

References fastsim::SimplifiedGeometry::index().

146  {
147  if(layer == nullptr)
148  {
149  return forwardLayers_.back().get();
150  }
151  return layer->index() > 0 ? forwardLayers_[layer->index() -1].get() : nullptr;
152  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:157
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 44 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(), seedCreatorFromRegionConsecutiveHitsEDProducer_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().

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

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 174 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 169 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 156 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 161 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 160 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 166 of file Geometry.h.

Referenced by update().

const bool fastsim::Geometry::forwardBoundary_
private

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

Definition at line 175 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 170 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 157 of file Geometry.h.

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

const GeometricSearchTracker* fastsim::Geometry::geometricSearchTracker_
private

Definition at line 163 of file Geometry.h.

Referenced by update().

const MagneticField* fastsim::Geometry::magneticField_
private

The tracker geometry.

The magnetic field

Definition at line 164 of file Geometry.h.

Referenced by getMagneticFieldZ(), and update().

const double fastsim::Geometry::maxRadius_
private

Definition at line 171 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 172 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 158 of file Geometry.h.

Referenced by update().

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

The tracker alignment label.

Definition at line 168 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 176 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 177 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 165 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 167 of file Geometry.h.

Referenced by update().