CMS 3D CMS Logo

List of all members | Public Member Functions
fastsim::ForwardSimplifiedGeometry Class Reference

Implementation of a forward detector layer (disk). More...

#include <ForwardSimplifiedGeometry.h>

Inheritance diagram for fastsim::ForwardSimplifiedGeometry:
fastsim::SimplifiedGeometry

Public Member Functions

 ForwardSimplifiedGeometry (double z)
 Constructor. More...
 
 ForwardSimplifiedGeometry (ForwardSimplifiedGeometry &&)=default
 Move constructor. More...
 
const double getMagneticFieldZ (const math::XYZTLorentzVector &position) const override
 Return magnetic field (field only has Z component!) on the forward layer. More...
 
const double getThickness (const math::XYZTLorentzVector &position) const override
 Return thickness of the forward layer at a given position. More...
 
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. More...
 
const double getZ () const
 Return z-position of the forward layer. More...
 
bool isForward () const override
 Returns true since class for forward layer. More...
 
 ~ForwardSimplifiedGeometry ()
 Default destructor. More...
 
- Public Member Functions inherited from fastsim::SimplifiedGeometry
CaloType getCaloType () const
 Hack to interface "old" Calorimetry with "new" Tracker. More...
 
const DetLayergetDetLayer () const
 Return pointer to the assigned active layer (if any). More...
 
const double getGeomProperty () const
 Return geometric attribute of the layer. More...
 
const std::vector< InteractionModel * > & getInteractionModels () const
 Return the vector of all interaction models that are assigned with a layer. More...
 
const double getNuclearInteractionThicknessFactor () const
 Some layers have a different thickness for nuclear interactions. More...
 
int index () const
 Return index of this layer (layers are numbered according to their position in the detector). More...
 
void setCaloType (CaloType type)
 Hack to interface "old" Calorimetry with "new" Tracker. More...
 
void setIndex (int index)
 Set index of this layer (layers are numbered according to their position in the detector). More...
 
 SimplifiedGeometry (double geomProperty)
 Default constructor. More...
 
 ~SimplifiedGeometry ()
 Default destructor. More...
 

Additional Inherited Members

- Public Types inherited from fastsim::SimplifiedGeometry
enum  CaloType {
  NONE, TRACKERBOUNDARY, PRESHOWER1, PRESHOWER2,
  ECAL, HCAL, VFCAL
}
 Hack to interface "old" Calorimetry with "new" Tracker. More...
 
- Protected Attributes inherited from fastsim::SimplifiedGeometry
CaloType caloType_
 Hack to interface "old" Calorimetry with "new" Tracker. More...
 
const DetLayerdetLayer_
 Return pointer to the assigned active layer (if any). More...
 
double geomProperty_
 Geometric property of the layer: radius (barrel layer) / position z (forward layer) More...
 
int index_
 Return index of this layer (layers are numbered according to their position in the detector). The (usual) order is increasing 'geomProperty'. More...
 
std::vector< InteractionModel * > interactionModels_
 Vector of all interaction models that are assigned with a layer. More...
 
std::unique_ptr< TH1F > magneticFieldHist_
 Histogram that stores the size of the magnetic field along the layer. More...
 
double nuclearInteractionThicknessFactor_
 Some layers have a different thickness for nuclear interactions. More...
 
std::unique_ptr< TH1F > thicknessHist_
 Histogram that stores the tickness (radLengths) along the layer. More...
 

Detailed Description

Implementation of a forward detector layer (disk).

A disk with a position in Z and a thickness (in radiation length). The layer is regarded to have an infinite radius, however the thickness can vary (as a function of the radius) and also be 0.

Definition at line 23 of file ForwardSimplifiedGeometry.h.

Constructor & Destructor Documentation

fastsim::ForwardSimplifiedGeometry::ForwardSimplifiedGeometry ( double  z)
inline

Constructor.

Create a forward layer with a given position (along z-axis).

Parameters
radiusThe z-position of the layer (in cm).

Definition at line 31 of file ForwardSimplifiedGeometry.h.

31  :
32  SimplifiedGeometry(z) {}
SimplifiedGeometry(double geomProperty)
Default constructor.
fastsim::ForwardSimplifiedGeometry::ForwardSimplifiedGeometry ( ForwardSimplifiedGeometry &&  )
default

Move constructor.

fastsim::ForwardSimplifiedGeometry::~ForwardSimplifiedGeometry ( )
inline

Default destructor.

Definition at line 38 of file ForwardSimplifiedGeometry.h.

38 {};

Member Function Documentation

const double fastsim::ForwardSimplifiedGeometry::getMagneticFieldZ ( const math::XYZTLorentzVector position) const
inlineoverridevirtual

Return magnetic field (field only has Z component!) on the forward layer.

Returns the magnetic field along the forward layer at a specified position (radial symmetric).

Parameters
positionA position which has to be on the forward layer.
Returns
The magnetic field on the layer.

Implements fastsim::SimplifiedGeometry.

Definition at line 77 of file ForwardSimplifiedGeometry.h.

References fastsim::SimplifiedGeometry::magneticFieldHist_.

78  {
79  return magneticFieldHist_->GetBinContent(magneticFieldHist_->GetXaxis()->FindBin(position.Pt()));
80  }
std::unique_ptr< TH1F > magneticFieldHist_
Histogram that stores the size of the magnetic field along the layer.
static int position[264][3]
Definition: ReadPGInfo.cc:509
const double fastsim::ForwardSimplifiedGeometry::getThickness ( const math::XYZTLorentzVector position) const
inlineoverridevirtual

Return thickness of the forward layer at a given position.

Returns the thickness of the forward layer (in radiation length) at a specified position since the thickness can vary as a function of the radius.

Parameters
positionA position which has to be on the forward layer.
Returns
The thickness of the layer (in radiation length).
See also
getThickness(const math::XYZTLorentzVector & position, const math::XYZTLorentzVector & momentum)

Implements fastsim::SimplifiedGeometry.

Definition at line 53 of file ForwardSimplifiedGeometry.h.

References fastsim::SimplifiedGeometry::thicknessHist_.

Referenced by getThickness().

54  {
55  return thicknessHist_->GetBinContent(thicknessHist_->GetXaxis()->FindBin(position.Pt()));
56  }
std::unique_ptr< TH1F > thicknessHist_
Histogram that stores the tickness (radLengths) along the layer.
static int position[264][3]
Definition: ReadPGInfo.cc:509
const double fastsim::ForwardSimplifiedGeometry::getThickness ( const math::XYZTLorentzVector position,
const math::XYZTLorentzVector momentum 
) const
inlineoverridevirtual

Return thickness of the forward layer at a given position, also considering the incident angle.

Returns the thickness of the forward layer (in radiation length) at a specified position and a given incident angle since the thickness can vary as a function of the radius.

Parameters
positionA position which has to be on the forward layer.
momentumThe momentum of the incident particle.
Returns
The thickness of the layer (in radiation length).
See also
getThickness(const math::XYZTLorentzVector & position)

Implements fastsim::SimplifiedGeometry.

Definition at line 66 of file ForwardSimplifiedGeometry.h.

References getThickness().

67  {
68  return getThickness(position) / fabs(momentum.Pz()) * momentum.P();
69  }
const double getThickness(const math::XYZTLorentzVector &position) const override
Return thickness of the forward layer at a given position.
static int position[264][3]
Definition: ReadPGInfo.cc:509
const double fastsim::ForwardSimplifiedGeometry::getZ ( ) const
inline

Return z-position of the forward layer.

Returns
The z-position of the layer (in cm).

Definition at line 44 of file ForwardSimplifiedGeometry.h.

References fastsim::SimplifiedGeometry::geomProperty_.

Referenced by fastsim::Trajectory::nextCrossingTimeC().

44 { return geomProperty_; }
double geomProperty_
Geometric property of the layer: radius (barrel layer) / position z (forward layer) ...
bool fastsim::ForwardSimplifiedGeometry::isForward ( ) const
inlineoverridevirtual

Returns true since class for forward layer.

Function to easily destinguish barrel from forward layers (which both inherit from ForwardSimplifiedGeometry).

Returns
true

Implements fastsim::SimplifiedGeometry.

Definition at line 87 of file ForwardSimplifiedGeometry.h.

87 {return true;}