36 ,
maxRadius_(cfg.getUntrackedParameter<double>(
"maxRadius",500.))
37 ,
maxZ_(cfg.getUntrackedParameter<double>(
"maxZ",1200.))
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
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;
169 <<
"\n# fastsim::Geometry" 170 <<
"\n## BarrelLayers:";
173 os <<
"\n " << *layer
174 << layer->getInteractionModels().size() <<
" interaction models";
176 os <<
"\n## ForwardLayers:";
179 os <<
"\n " << *layer
180 << layer->getInteractionModels().size() <<
" interaction models";
182 os <<
"\n-----------";
const bool useTrackerRecoGeometryRecord_
Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of track...
unsigned long long cacheIdentifier() const
unsigned long long cacheIdentifierTrackerRecoGeometry_
Check interval of validity of the tracker geometry.
void update(const edm::EventSetup &iSetup, const std::map< std::string, InteractionModel * > &interactionModelMap)
Initializes the tracker geometry.
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
const GeometricSearchTracker * geometricSearchTracker_
const MagneticField * magneticField_
The tracker geometry.
Global3DPoint GlobalPoint
const std::vector< edm::ParameterSet > forwardLayerCfg_
The config in which all parameters of the forward layers are defined.
const std::vector< edm::ParameterSet > barrelLayerCfg_
The config in which all parameters of the barrel layers are defined.
const double fixedMagneticFieldZ_
Use a uniform magnetic field or non-uniform from MagneticFieldRecord.
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
const edm::ParameterSet trackerForwardBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
const std::string trackerAlignmentLabel_
The tracker alignment label.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::unique_ptr< MagneticField > ownedMagneticField_
Needed to create a uniform magnetic field if speciefied in config.
std::ostream & operator<<(std::ostream &os, const fastsim::Geometry &geometry)
const bool forwardBoundary_
Hack to interface "old" calo to "new" tracking.
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
Geometry(const edm::ParameterSet &cfg)
Constructor.
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 the tracker geometry (vectors of forward/barrel layers).
static int position[264][3]
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
std::unique_ptr< ForwardSimplifiedGeometry > createForwardSimplifiedGeometry(LayerType type, const edm::ParameterSet &cfg) const
Helper method for createSimplifiedGeometry(..) to create a forward layer (ForwardSimplifiedGeometry)...
std::unique_ptr< BarrelSimplifiedGeometry > createBarrelSimplifiedGeometry(const edm::ParameterSet &cfg) const
Helper method for createSimplifiedGeometry(..) to create a barrel layer (BarrelSimplifiedGeometry).
const bool useFixedMagneticFieldZ_
Needed to create a uniform magnetic field if speciefied in config.
~Geometry()
Default destructor.
double getMagneticFieldZ(const math::XYZTLorentzVector &position) const
Initializes the tracker geometry.
const bool barrelBoundary_
Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.
unsigned long long cacheIdentifierIdealMagneticField_
Check interval of validity of the magnetic field.