|
ATLAS Offline Software
|
NEEDS DOCUMENTATION.
More...
#include <EndcapFastSimDedicatedSD.h>
|
| FRIEND_TEST (LArG4SimpleSDtest, ProcessHits) |
|
| FRIEND_TEST (LArG4SimpleSDtest, EndOfAthenaEvent) |
|
| FRIEND_TEST (LArG4SimpleSDtest, setupHelpers) |
|
| FRIEND_TEST (LArG4SimpleSDtest, getTimeBin) |
|
| FRIEND_TEST (LArG4SimpleSDtest, SimpleHit) |
|
| FRIEND_TEST (LArG4SimpleSDtest, ConvertID) |
|
| FRIEND_TEST (SDWrappertest, Initialize) |
|
| FRIEND_TEST (SDWrappertest, EndOfAthenaEvent) |
|
| FRIEND_TEST (SDWrappertest, addSD) |
|
| FRIEND_TEST (SDWrappertest, addFastSimSD) |
|
| FRIEND_TEST (SDWrappertest, ProcessHits) |
|
NEEDS DOCUMENTATION.
Definition at line 23 of file EndcapFastSimDedicatedSD.h.
◆ hits_t
◆ timeBins_t
◆ LArHitTimeBins
Enumerator |
---|
HitTimeBinDefault | |
HitTimeBinUniform | |
Definition at line 50 of file LArG4SimpleSD.h.
◆ EndcapFastSimDedicatedSD() [1/2]
EndcapFastSimDedicatedSD::EndcapFastSimDedicatedSD |
( |
StoreGateSvc * |
detStore, |
|
|
bool |
verbose |
|
) |
| |
Definition at line 36 of file EndcapFastSimDedicatedSD.cxx.
44 if (
verbose) { G4cout << GetName() <<
"::initialize()" << G4endl; }
46 throw std::runtime_error(
"Could not retrieve EMEC manager");
51 ISvcLocator* svcLocator = Gaudi::svcLocator();
54 SmartIF<IGeoModelSvc> geoModel{svcLocator->service (
"GeoModelSvc")};
57 "LArWheelSliceSolid",
"AccessGeoModel", FatalException,
58 "createSolid cannot access GeoModelSvc");
61 SmartIF<IGeoDbTagSvc> geoDbTagSvc{svcLocator->service (
"GeoDbTagSvc")};
64 "LArWheelSliceSolid",
"AccessDbTagSvc", FatalException,
65 "createSolid cannot access DbTagSvc");
69 SmartIF<IRDBAccessSvc> pAccessSvc{svcLocator->service(geoDbTagSvc->getParamSvcName())};
72 "LArWheelSliceSolid",
"AccessAccessSvc", FatalException,
73 "createSolid cannot access AccessSvc");
◆ ~EndcapFastSimDedicatedSD()
EndcapFastSimDedicatedSD::~EndcapFastSimDedicatedSD |
( |
| ) |
|
|
inline |
◆ EndcapFastSimDedicatedSD() [2/2]
◆ ConvertID()
Helper function for making "real" identifiers from LArG4Identifiers.
◆ EndOfAthenaEvent()
End of athena event processing.
◆ FRIEND_TEST() [1/11]
LArG4SimpleSD::FRIEND_TEST |
( |
LArG4SimpleSDtest |
, |
|
|
ConvertID |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [2/11]
◆ FRIEND_TEST() [3/11]
LArG4SimpleSD::FRIEND_TEST |
( |
LArG4SimpleSDtest |
, |
|
|
getTimeBin |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [4/11]
LArG4SimpleSD::FRIEND_TEST |
( |
LArG4SimpleSDtest |
, |
|
|
ProcessHits |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [5/11]
LArG4SimpleSD::FRIEND_TEST |
( |
LArG4SimpleSDtest |
, |
|
|
setupHelpers |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [6/11]
LArG4SimpleSD::FRIEND_TEST |
( |
LArG4SimpleSDtest |
, |
|
|
SimpleHit |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [7/11]
LArG4SimpleSD::FRIEND_TEST |
( |
SDWrappertest |
, |
|
|
addFastSimSD |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [8/11]
LArG4SimpleSD::FRIEND_TEST |
( |
SDWrappertest |
, |
|
|
addSD |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [9/11]
◆ FRIEND_TEST() [10/11]
LArG4SimpleSD::FRIEND_TEST |
( |
SDWrappertest |
, |
|
|
Initialize |
|
|
) |
| |
|
privateinherited |
◆ FRIEND_TEST() [11/11]
LArG4SimpleSD::FRIEND_TEST |
( |
SDWrappertest |
, |
|
|
ProcessHits |
|
|
) |
| |
|
privateinherited |
◆ getTimeBin()
G4int LArG4SimpleSD::getTimeBin |
( |
G4double |
time | ) |
const |
|
protectedinherited |
Helper method for time info.
◆ operator=()
◆ ProcessHits()
G4bool LArG4SimpleSD::ProcessHits |
( |
G4Step * |
a_step, |
|
|
G4TouchableHistory * |
|
|
) |
| |
|
overrideinherited |
◆ ProcessSpot()
void EndcapFastSimDedicatedSD::ProcessSpot |
( |
const EnergySpot & |
spot, |
|
|
double |
weight |
|
) |
| |
|
finaloverridevirtual |
ProcessHitsMethod.
Process a single energy spot from a frozen shower. The appropriate region of the sensitive detector is calculated and a LArIdentifier is constructed
Implements IFastSimDedicatedSD.
Definition at line 88 of file EndcapFastSimDedicatedSD.cxx.
97 Point3D<double> localPosition = globalPosition.z()<0 ? xfNeg*globalPosition : xfPos*globalPosition;
99 int zIndex = globalPosition.z()<0 ? 0:1;
100 double eta = shiftedLocalPosition.getEta();
101 double phi = localPosition.getPhi();
102 double z = localPosition.z();
109 const CellBinning & etaBinning=regionDescriptor->
getEtaBinning();
110 if (
eta>etaBinning.getStart() &&
eta<etaBinning.getEnd()) {
112 unsigned int etaIndex =
int((
eta - etaBinning.getStart())/etaBinning.getDelta()) + etaBinning.getFirstDivisionNumber();
118 const CellBinning & phiBinning=regionDescriptor->
getPhiBinning();
119 double minPhi=
std::min(phiBinning.getStart(), phiBinning.getEnd());
120 double maxPhi=
std::max(phiBinning.getStart(), phiBinning.getEnd());
128 int sWheel =
zIndex==0 ? -wheel: wheel;
134 int nBins= phiBinning.getNumDivisions();
135 int gapsPerBin = nGaps/
nBins;
151 throw std::runtime_error(
"Error, unknown wheel in EndcapFastSimDedicatedSD");
◆ setupHelpers()
◆ SimpleHit()
First method translates to this - also for fast sims.
◆ m_calculator
Member variable - the calculator we'll use.
Definition at line 93 of file LArG4SimpleSD.h.
◆ m_emecManager
◆ m_innerWheelCalculatorNeg
◆ m_innerWheelCalculatorPos
◆ m_larEmID
◆ m_larFcalID
◆ m_larHecID
◆ m_larID
◆ m_numberInvalidHits
G4int LArG4SimpleSD::m_numberInvalidHits |
|
protectedinherited |
◆ m_outerWheelCalculatorNeg
◆ m_outerWheelCalculatorPos
◆ m_timeBins
◆ m_timeBinType
◆ m_timeBinWidth
G4float LArG4SimpleSD::m_timeBinWidth |
|
protectedinherited |
Width of the time bins for summing hits - for the uniform binning.
Definition at line 137 of file LArG4SimpleSD.h.
The documentation for this class was generated from the following files:
EMECDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
LArWheelCalculator * m_outerWheelCalculatorPos
Smart Pointer to EMEC Cells. This reference counted link allocates on demand. It audits the total poi...
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
IFastSimDedicatedSD(const std::string &name, StoreGateSvc *detStore)
Simple constructor and destructor.
const CellBinning & getPhiBinning() const
The Binning in Phi.
LArWheelCalculator * m_outerWheelCalculatorNeg
LArWheelCalculator * m_innerWheelCalculatorNeg
int GetPhiGap(const CLHEP::Hep3Vector &p) const
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
Descriptor for regions of the electromagnetic endcap calorimeter.
unsigned int getRadialIndex() const
Returns the Radial (Outer Wheel=0,InnerWheel=1) Index.
const LArFCAL_ID * m_larFcalID
EMECDetectorManager::DetectorRegionConstIterator beginDetectorRegion() const
Iterate over detector regions.
G4double GetEnergy() const
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Eigen::Affine3d Transform3D
EMECDetectorManager * m_emecManager
const EMECDetDescr * getDescriptor() const
Returns the Descriptor for this region.
const LArEM_ID * m_larEmID
Pointers to the identifier helpers.
double getRefToActive() const
This provides the distance in CLHEP::mm from the Active EMEC volume to the reference plane.
LArWheelCalculator * m_innerWheelCalculatorPos
const CellBinning & getEtaBinning() const
The Binning in Eta.
G4bool SimpleHit(const LArG4Identifier &lar_id, G4double time, G4double energy)
First method translates to this - also for fast sims.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
const EMECDetectorRegion * getDetectorRegion(unsigned int endcap, unsigned int sampling, unsigned int region, bool inner) const
Random Access to detector regions.
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
LArG4Identifier m_larID
My LAr identifier.
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
EMECCellConstLink getEMECCell(unsigned int ieta, unsigned int iphi) const
Access to Cells.
EMECData toEMECData(IRDBAccessSvc *rdbAccess, const DecodeVersionKey &larVersionKey)
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
G4ThreeVector GetPosition() const
double getFocalToRef() const
This provides the distance in CLHEP::mm from the Focal Plane to the reference plane.
unsigned int getRegionIndex() const
Returns the Region Index.
const LArHEC_ID * m_larHecID
std::vector< const EMECDetectorRegion * >::const_iterator DetectorRegionConstIterator
EMECDetectorManager::DetectorRegionConstIterator endDetectorRegion() const
Iterate over detector regions.