CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ForwardSimplifiedGeometry.h
Go to the documentation of this file.
1 #ifndef FASTSIM_FORWARDSIMPLIFIEDGEOMETRY_H
2 #define FASTSIM_FORWARDSIMPLIFIEDGEOMETRY_H
3 
6 #include <TH1F.h>
8 
10 // Author: L. Vanelderen, S. Kurz
11 // Date: 29 May 2017
13 
14 namespace fastsim {
15 
17 
22  public:
24 
29 
32 
35 
37 
40  const double getZ() const { return geomProperty_; }
41 
43 
49  const double getThickness(const math::XYZTLorentzVector &position) const override {
50  return thicknessHist_->GetBinContent(thicknessHist_->GetXaxis()->FindBin(position.Pt()));
51  }
52 
54 
62  const math::XYZTLorentzVector &momentum) const override {
63  return getThickness(position) / fabs(momentum.Pz()) * momentum.P();
64  }
65 
67 
72  const double getMagneticFieldZ(const math::XYZTLorentzVector &position) const override {
73  return magneticFieldHist_->GetBinContent(magneticFieldHist_->GetXaxis()->FindBin(position.Pt()));
74  }
75 
77 
81  bool isForward() const override { return true; }
82  };
83 
84 } // namespace fastsim
85 
86 #endif
fastsim::SimplifiedGeometry::magneticFieldHist_
std::unique_ptr< TH1F > magneticFieldHist_
Histogram that stores the size of the magnetic field along the layer.
Definition: SimplifiedGeometry.h:157
fastsim::ForwardSimplifiedGeometry::getThickness
const double getThickness(const math::XYZTLorentzVector &position) const override
Return thickness of the forward layer at a given position.
Definition: ForwardSimplifiedGeometry.h:49
fastsim::SimplifiedGeometry
Implementation of a generic detector layer (base class for forward/barrel layers).
Definition: SimplifiedGeometry.h:35
fastsim::ForwardSimplifiedGeometry::ForwardSimplifiedGeometry
ForwardSimplifiedGeometry(double z)
Constructor.
Definition: ForwardSimplifiedGeometry.h:28
fastsim::ForwardSimplifiedGeometry
Implementation of a forward detector layer (disk).
Definition: ForwardSimplifiedGeometry.h:21
fastsim::ForwardSimplifiedGeometry::getMagneticFieldZ
const double getMagneticFieldZ(const math::XYZTLorentzVector &position) const override
Return magnetic field (field only has Z component!) on the forward layer.
Definition: ForwardSimplifiedGeometry.h:72
fastsim::SimplifiedGeometry::thicknessHist_
std::unique_ptr< TH1F > thicknessHist_
Histogram that stores the tickness (radLengths) along the layer.
Definition: SimplifiedGeometry.h:158
fastsim::ForwardSimplifiedGeometry::getThickness
const double getThickness(const math::XYZTLorentzVector &position, const math::XYZTLorentzVector &momentum) const override
Return thickness of the forward layer at a given position, also considering the incident angle.
Definition: ForwardSimplifiedGeometry.h:61
fastsim::ForwardSimplifiedGeometry::getZ
const double getZ() const
Return z-position of the forward layer.
Definition: ForwardSimplifiedGeometry.h:40
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
LorentzVector.h
SimplifiedGeometry.h
fastsim::ForwardSimplifiedGeometry::isForward
bool isForward() const override
Returns true since class for forward layer.
Definition: ForwardSimplifiedGeometry.h:81
fastsim::SimplifiedGeometry::geomProperty_
double geomProperty_
Geometric property of the layer: radius (barrel layer) / position z (forward layer)
Definition: SimplifiedGeometry.h:154
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
Exception.h
fastsim
Definition: BarrelSimplifiedGeometry.h:15
fastsim::ForwardSimplifiedGeometry::~ForwardSimplifiedGeometry
~ForwardSimplifiedGeometry() override
Default destructor.
Definition: ForwardSimplifiedGeometry.h:34