|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "GeoModelKernel/GeoTubs.h"
13 #include "CLHEP/Geometry/Transform3D.h"
14 #include "CLHEP/Geometry/Point3D.h"
18 using HepGeom::Point3D;
23 , m_fcalManager(nullptr)
25 if (
verbose) { G4cout << GetName() <<
"::initialize()" << G4endl; }
27 throw std::runtime_error(
"Could not retrieve FCAL manager");
45 static const GeoTubs *
const fcalTubs[3] = {
55 bool iAmPositive=globalPosition.z()>0.;
57 Point3D<double> localPosition= iAmPositive ? (xfPos[0]*globalPosition) : (xfNeg[0]*globalPosition);
58 if (fabs(localPosition.z()) > fcalTubs[0]->getZHalfLength()) {
60 localPosition= iAmPositive ? (xfPos[1]*globalPosition) : (xfNeg[1]*globalPosition);
61 if (fabs(localPosition.z()) > fcalTubs[1]->getZHalfLength()) {
63 localPosition= iAmPositive ? (xfPos[2]*globalPosition) : (xfNeg[2]*globalPosition);
64 if (fabs(localPosition.z()) > fcalTubs[2]->getZHalfLength()) {
86 int zSide = iAmPositive ? 2:-2;
virtual void ProcessSpot(const EnergySpot &spot) override final
ProcessHitsMethod.
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
const FCALModule * getFCAL(FCALModule::Module module, FCALModule::Endcap endcap) const
Retreive a specific FCAL Module.
LArG4Identifier m_larID
My LAr identifier.
This is the interface for the fast simulation dedicated sensitive detector.
FCALFastSimDedicatedSD(StoreGateSvc *, bool verbose)
FCALDetectorManager * m_fcalManager
The Athena Transient Store API.
G4double GetEnergy() const
Eigen::Affine3d Transform3D
bool getTileID(int isam, float x, float y, int &eta, int &phi) const
-— For the new LArFCAL_ID Identifier
G4bool SimpleHit(const LArG4Identifier &lar_id, G4double time, G4double energy)
First method translates to this - also for fast sims.
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
const FCAL_ChannelMap * getChannelMap() const
Returns the Channel Map.
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
G4ThreeVector GetPosition() const