|
|
Go to the documentation of this file.
25 : cacheIdentifierTrackerRecoGeometry_(0),
26 cacheIdentifierIdealMagneticField_(0),
27 geometricSearchTracker_(nullptr),
28 magneticField_(nullptr),
29 useFixedMagneticFieldZ_(
cfg.exists(
"magneticFieldZ")),
30 fixedMagneticFieldZ_(
cfg.getUntrackedParameter<double>(
"magneticFieldZ", 0.)),
31 useTrackerRecoGeometryRecord_(
cfg.getUntrackedParameter<
bool>(
"useTrackerRecoGeometryRecord",
true)),
32 trackerAlignmentLabel_(
cfg.getUntrackedParameter<
std::
string>(
"trackerAlignmentLabel",
"")),
35 maxRadius_(
cfg.getUntrackedParameter<double>(
"maxRadius", 500.)),
36 maxZ_(
cfg.getUntrackedParameter<double>(
"maxZ", 1200.)),
37 barrelBoundary_(
cfg.exists(
"trackerBarrelBoundary"))
39 forwardBoundary_(
cfg.exists(
"trackerForwardBoundary"))
41 trackerBarrelBoundaryCfg_(barrelBoundary_
45 trackerForwardBoundaryCfg_(forwardBoundary_
51 const std::map<std::string, fastsim::InteractionModel*>& interactionModelMap) {
111 <<
"barrel layers must be ordered according to increading radius"
112 <<
"\nbarrel layer " <<
index <<
" has radius smaller than or equal to radius of barrel layer " <<
index - 1
148 <<
"forward layers must be ordered according to increasing z"
149 <<
"forward layer " <<
index <<
" has z smaller than or equal to z of forward layer " <<
index - 1;
161 <<
"\n# fastsim::Geometry"
162 <<
"\n## BarrelLayers:";
164 os <<
"\n " << *
layer <<
layer->getInteractionModels().size() <<
" interaction models";
166 os <<
"\n## ForwardLayers:";
168 os <<
"\n " << *
layer <<
layer->getInteractionModels().size() <<
" interaction models";
170 os <<
"\n-----------";
std::unique_ptr< ForwardSimplifiedGeometry > createForwardSimplifiedGeometry(LayerType type, const edm::ParameterSet &cfg) const
Helper method for createSimplifiedGeometry(..) to create a forward layer (ForwardSimplifiedGeometry).
const edm::ParameterSet trackerBarrelBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
Definition the tracker geometry (vectors of forward/barrel layers).
const MagneticField * magneticField_
The tracker geometry.
const edm::ParameterSet trackerForwardBoundaryCfg_
Hack to interface "old" calo to "new" tracking.
const bool forwardBoundary_
Hack to interface "old" calo to "new" tracking.
unsigned long long cacheIdentifierIdealMagneticField_
Check interval of validity of the magnetic field.
const std::string trackerAlignmentLabel_
The tracker alignment label.
unsigned long long cacheIdentifierTrackerRecoGeometry_
Check interval of validity of the tracker geometry.
std::unique_ptr< MagneticField > ownedMagneticField_
Needed to create a uniform magnetic field if speciefied in config.
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
const double fixedMagneticFieldZ_
Use a uniform magnetic field or non-uniform from MagneticFieldRecord.
Constructs a tracker layer according to entry in python config (incl interaction models).
Geometry(const edm::ParameterSet &cfg)
Constructor.
const std::vector< edm::ParameterSet > barrelLayerCfg_
The config in which all parameters of the barrel layers are defined.
std::unique_ptr< BarrelSimplifiedGeometry > createBarrelSimplifiedGeometry(const edm::ParameterSet &cfg) const
Helper method for createSimplifiedGeometry(..) to create a barrel layer (BarrelSimplifiedGeometry).
~Geometry()
Default destructor.
double getMagneticFieldZ(const math::XYZTLorentzVector &position) const
Initializes the tracker geometry.
const double maxZ_
Upper bound of the radius of the whole tracker geometry.
const bool barrelBoundary_
Upper bound of the length/2 (0 to +Z) of the whole tracker geometry.
Global3DPoint GlobalPoint
const bool useTrackerRecoGeometryRecord_
Use GeometricSearchTracker (active layers/reco geometry). Can be used to get position/radius of track...
std::ostream & operator<<(std::ostream &os, const fastsim::Geometry &geometry)
constexpr std::array< uint8_t, layerIndexSize > layer
static int position[264][3]
const GeometricSearchTracker * geometricSearchTracker_
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
unsigned long long cacheIdentifier() const
const std::vector< edm::ParameterSet > forwardLayerCfg_
The config in which all parameters of the forward layers are defined.
const bool useFixedMagneticFieldZ_
Needed to create a uniform magnetic field if speciefied in config.
void update(const edm::EventSetup &iSetup, const std::map< std::string, InteractionModel * > &interactionModelMap)
Initializes the tracker geometry.