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 &, edm::ConsumesCollector &&)
 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_
 
edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecordgeometricSearchTrackerESToken_
 
const MagneticFieldmagneticField_
 The tracker geometry. More...
 
edm::ESGetToken< MagneticField, IdealMagneticFieldRecordmagneticFieldESToken_
 
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 30 of file Geometry.h.

Constructor & Destructor Documentation

◆ Geometry()

Geometry::Geometry ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  iC 
)

Constructor.

Definition at line 22 of file Geometry.cc.

References geometricSearchTrackerESToken_, magneticFieldESToken_, trackerAlignmentLabel_, useFixedMagneticFieldZ_, and useTrackerRecoGeometryRecord_.

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

◆ ~Geometry()

Geometry::~Geometry ( )

Default destructor.

Definition at line 20 of file Geometry.cc.

20 { ; }

Member Function Documentation

◆ barrelLayers()

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

References barrelLayers_.

60 { return barrelLayers_; }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:142

◆ forwardLayers()

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

References forwardLayers_.

67 { return forwardLayers_; }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:144

◆ getMagneticFieldZ()

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 156 of file Geometry.cc.

References position.

Referenced by FastSimProducer::produce().

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

◆ getMaxRadius()

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

References maxRadius_.

74 { return maxRadius_; }
const double maxRadius_
Definition: Geometry.h:162

◆ getMaxZ()

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

References maxZ_.

81 { return maxZ_; }
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
Definition: Geometry.h:163

◆ nextLayer() [1/2]

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

References barrelLayers_.

92  {
93  if (layer == nullptr) {
94  return nullptr;
95  }
96  unsigned nextLayerIndex = layer->index() + 1;
97  return nextLayerIndex < barrelLayers_.size() ? barrelLayers_[nextLayerIndex].get() : nullptr;
98  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:142

◆ nextLayer() [2/2]

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

References forwardLayers_.

106  {
107  if (layer == nullptr) {
108  return nullptr;
109  }
110  unsigned nextLayerIndex = layer->index() + 1;
111  return nextLayerIndex < forwardLayers_.size() ? forwardLayers_[nextLayerIndex].get() : nullptr;
112  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:144

◆ previousLayer() [1/2]

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

References barrelLayers_.

120  {
121  if (layer == nullptr) {
122  return barrelLayers_.back().get();
123  }
124  return layer->index() > 0 ? barrelLayers_[layer->index() - 1].get() : nullptr;
125  }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:142

◆ previousLayer() [2/2]

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

References forwardLayers_.

133  {
134  if (layer == nullptr) {
135  return forwardLayers_.back().get();
136  }
137  return layer->index() > 0 ? forwardLayers_[layer->index() - 1].get() : nullptr;
138  }
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:144

◆ update()

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 55 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_, geometricSearchTrackerESToken_, edm::EventSetup::get(), edm::EventSetup::getData(), magneticField_, magneticFieldESToken_, maxRadius_, maxZ_, fastsim::SimplifiedGeometryFactory::NEGFWD, ownedMagneticField_, fastsim::SimplifiedGeometryFactory::POSFWD, trackerBarrelBoundaryCfg_, fastsim::SimplifiedGeometry::TRACKERBOUNDARY, trackerForwardBoundaryCfg_, useFixedMagneticFieldZ_, and useTrackerRecoGeometryRecord_.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), and FastSimProducer::produce().

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

Friends And Related Function Documentation

◆ operator<<

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

Provides some basic output for e.g. debugging.

Member Data Documentation

◆ barrelBoundary_

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

Referenced by update().

◆ barrelLayerCfg_

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

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

Definition at line 159 of file Geometry.h.

Referenced by update().

◆ barrelLayers_

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

The vector of barrel layers (increasing radius)

Definition at line 142 of file Geometry.h.

Referenced by barrelLayers(), nextLayer(), previousLayer(), and update().

◆ cacheIdentifierIdealMagneticField_

unsigned long long fastsim::Geometry::cacheIdentifierIdealMagneticField_
private

Check interval of validity of the magnetic field.

Definition at line 149 of file Geometry.h.

Referenced by update().

◆ cacheIdentifierTrackerRecoGeometry_

unsigned long long fastsim::Geometry::cacheIdentifierTrackerRecoGeometry_
private

Check interval of validity of the tracker geometry.

Definition at line 148 of file Geometry.h.

Referenced by update().

◆ fixedMagneticFieldZ_

const double fastsim::Geometry::fixedMagneticFieldZ_
private

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

Definition at line 154 of file Geometry.h.

Referenced by update().

◆ forwardBoundary_

const bool fastsim::Geometry::forwardBoundary_
private

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

Definition at line 166 of file Geometry.h.

Referenced by update().

◆ forwardLayerCfg_

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

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

Definition at line 161 of file Geometry.h.

Referenced by update().

◆ forwardLayers_

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

The vector of forward layers (increasing Z-position)

Definition at line 144 of file Geometry.h.

Referenced by forwardLayers(), nextLayer(), previousLayer(), and update().

◆ geometricSearchTracker_

const GeometricSearchTracker* fastsim::Geometry::geometricSearchTracker_
private

Definition at line 151 of file Geometry.h.

Referenced by update().

◆ geometricSearchTrackerESToken_

edm::ESGetToken<GeometricSearchTracker, TrackerRecoGeometryRecord> fastsim::Geometry::geometricSearchTrackerESToken_
private

Definition at line 170 of file Geometry.h.

Referenced by Geometry(), and update().

◆ magneticField_

const MagneticField* fastsim::Geometry::magneticField_
private

The tracker geometry.

The magnetic field

Definition at line 152 of file Geometry.h.

Referenced by update().

◆ magneticFieldESToken_

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> fastsim::Geometry::magneticFieldESToken_
private

Definition at line 171 of file Geometry.h.

Referenced by Geometry(), and update().

◆ maxRadius_

const double fastsim::Geometry::maxRadius_
private

Definition at line 162 of file Geometry.h.

Referenced by getMaxRadius(), and update().

◆ maxZ_

const double fastsim::Geometry::maxZ_
private

Upper bound of the radius of the whole tracker geometry.

Definition at line 163 of file Geometry.h.

Referenced by getMaxZ(), and update().

◆ ownedMagneticField_

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

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

Definition at line 146 of file Geometry.h.

Referenced by update().

◆ trackerAlignmentLabel_

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

The tracker alignment label.

Definition at line 157 of file Geometry.h.

Referenced by Geometry().

◆ trackerBarrelBoundaryCfg_

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

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

Definition at line 167 of file Geometry.h.

Referenced by update().

◆ trackerForwardBoundaryCfg_

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

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

Definition at line 168 of file Geometry.h.

Referenced by update().

◆ useFixedMagneticFieldZ_

const bool fastsim::Geometry::useFixedMagneticFieldZ_
private

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

Definition at line 153 of file Geometry.h.

Referenced by Geometry(), and update().

◆ useTrackerRecoGeometryRecord_

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

Referenced by Geometry(), and update().