Go to the documentation of this file. 1 #ifndef FASTSIM_SIMPLIFIEDGEOMETRY_H
2 #define FASTSIM_SIMPLIFIEDGEOMETRY_H
24 class InteractionModel;
25 class SimplifiedGeometryFactory;
160 std::vector<InteractionModel*>
std::unique_ptr< TH1F > magneticFieldHist_
Histogram that stores the size of the magnetic field along the layer.
Implementation of a generic detector layer (base class for forward/barrel layers).
CaloType getCaloType() const
Hack to interface "old" Calorimetry with "new" Tracker.
virtual ~SimplifiedGeometry()
Default destructor.
CaloType caloType_
Hack to interface "old" Calorimetry with "new" Tracker.
CaloType
Hack to interface "old" Calorimetry with "new" Tracker.
Constructs a tracker layer according to entry in python config (incl interaction models).
virtual const double getMagneticFieldZ(const math::XYZTLorentzVector &position) const =0
Return magnetic field (field only has Z component!) on the layer.
virtual const double getThickness(const math::XYZTLorentzVector &position) const =0
Return thickness of the layer at a given position.
double nuclearInteractionThicknessFactor_
Some layers have a different thickness for nuclear interactions.
const double getNuclearInteractionThicknessFactor() const
Some layers have a different thickness for nuclear interactions.
std::ostream & operator<<(std::ostream &os, const fastsim::Geometry &geometry)
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< InteractionModel * > interactionModels_
Vector of all interaction models that are assigned with a layer.
std::unique_ptr< TH1F > thicknessHist_
Histogram that stores the tickness (radLengths) along the layer.
const std::vector< InteractionModel * > & getInteractionModels() const
Return the vector of all interaction models that are assigned with a layer.
static int position[264][3]
int index() const
Return index of this layer (layers are numbered according to their position in the detector).
const double getGeomProperty() const
Return geometric attribute of the layer.
SimplifiedGeometry & operator=(SimplifiedGeometry &&)=default
const DetLayer * getDetLayer() const
Return pointer to the assigned active layer (if any).
double geomProperty_
Geometric property of the layer: radius (barrel layer) / position z (forward layer)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
void setIndex(int index)
Set index of this layer (layers are numbered according to their position in the detector).
void setCaloType(CaloType type)
Hack to interface "old" Calorimetry with "new" Tracker.
virtual bool isForward() const =0
Returns false/true depending if the object is a (non-abstract) barrel/forward layer.
SimplifiedGeometry(double geomProperty)
Default constructor.
friend std::ostream & operator<<(std::ostream &os, const SimplifiedGeometry &layer)
Some basic output.
const DetLayer * detLayer_
Return pointer to the assigned active layer (if any).
int index_
Return index of this layer (layers are numbered according to their position in the detector)....