ATLAS Offline Software
Loading...
Searching...
No Matches
IFastSimDedicatedSD Class Referenceabstract

This is the interface for the fast simulation dedicated sensitive detector. More...

#include <IFastSimDedicatedSD.h>

Inheritance diagram for IFastSimDedicatedSD:
Collaboration diagram for IFastSimDedicatedSD:

Public Types

enum  LArHitTimeBins { HitTimeBinDefault = 0 , HitTimeBinUniform = 1 }

Public Member Functions

 IFastSimDedicatedSD (const std::string &name, StoreGateSvc *detStore)
 Simple constructor and destructor.
 ~IFastSimDedicatedSD ()
virtual void ProcessSpot (const EnergySpot &spot, double weight)=0
 ProcessHitsMethod.
G4bool ProcessHits (G4Step *a_step, G4TouchableHistory *) override
 Main processing method.
G4bool SimpleHit (const LArG4Identifier &lar_id, G4double time, G4double energy)
 First method translates to this - also for fast sims.
void EndOfAthenaEvent (LArHitContainer *hitContnainer)
 End of athena event processing.
void setupHelpers (const LArEM_ID *EM, const LArFCAL_ID *FCAL, const LArHEC_ID *HEC)
 Sets the ID helper pointers.
Identifier ConvertID (const LArG4Identifier &a_ident) const
 Helper function for making "real" identifiers from LArG4Identifiers.

Protected Types

typedef std::set< LArHit *, LessHithits_t
typedef std::map< G4int, hits_t * > timeBins_t

Protected Member Functions

G4int getTimeBin (G4double time) const
 Helper method for time info.

Protected Attributes

ILArCalculatorSvcm_calculator
 Member variable - the calculator we'll use.
G4int m_numberInvalidHits
 Count the number of invalid hits.
LArG4SimpleSD::LArHitTimeBins m_timeBinType
G4float m_timeBinWidth
 Width of the time bins for summing hits - for the uniform binning.
timeBins_t m_timeBins
 The map of hit sets binned in time.
const LArEM_IDm_larEmID
 Pointers to the identifier helpers.
const LArFCAL_IDm_larFcalID
const LArHEC_IDm_larHecID

Private Member Functions

 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)

Detailed Description

This is the interface for the fast simulation dedicated sensitive detector.

Definition at line 13 of file IFastSimDedicatedSD.h.

Member Typedef Documentation

◆ hits_t

typedef std::set< LArHit*, LessHit > LArG4SimpleSD::hits_t
protectedinherited

Definition at line 113 of file LArG4SimpleSD.h.

◆ timeBins_t

typedef std::map< G4int, hits_t* > LArG4SimpleSD::timeBins_t
protectedinherited

Definition at line 119 of file LArG4SimpleSD.h.

Member Enumeration Documentation

◆ LArHitTimeBins

Enumerator
HitTimeBinDefault 
HitTimeBinUniform 

Definition at line 50 of file LArG4SimpleSD.h.

51 {
54 };

Constructor & Destructor Documentation

◆ IFastSimDedicatedSD()

IFastSimDedicatedSD::IFastSimDedicatedSD ( const std::string & name,
StoreGateSvc * detStore )
inline

Simple constructor and destructor.

Definition at line 18 of file IFastSimDedicatedSD.h.

18: LArG4SimpleSD( name , detStore ) {}
LArG4SimpleSD(G4String a_name, ILArCalculatorSvc *calc, const std::string &type="Default", const float width=2.5 *CLHEP::ns)
Constructor.

◆ ~IFastSimDedicatedSD()

IFastSimDedicatedSD::~IFastSimDedicatedSD ( )
inline

Definition at line 20 of file IFastSimDedicatedSD.h.

20{}

Member Function Documentation

◆ ConvertID()

Identifier LArG4SimpleSD::ConvertID ( const LArG4Identifier & a_ident) const
inherited

Helper function for making "real" identifiers from LArG4Identifiers.

◆ EndOfAthenaEvent()

void LArG4SimpleSD::EndOfAthenaEvent ( LArHitContainer * hitContnainer)
inherited

End of athena event processing.

◆ FRIEND_TEST() [1/11]

LArG4SimpleSD::FRIEND_TEST ( LArG4SimpleSDtest ,
ConvertID  )
privateinherited

◆ FRIEND_TEST() [2/11]

LArG4SimpleSD::FRIEND_TEST ( LArG4SimpleSDtest ,
EndOfAthenaEvent  )
privateinherited

◆ 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]

LArG4SimpleSD::FRIEND_TEST ( SDWrappertest ,
EndOfAthenaEvent  )
privateinherited

◆ 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.

◆ ProcessHits()

G4bool LArG4SimpleSD::ProcessHits ( G4Step * a_step,
G4TouchableHistory *  )
overrideinherited

Main processing method.

◆ ProcessSpot()

virtual void IFastSimDedicatedSD::ProcessSpot ( const EnergySpot & spot,
double weight )
pure virtual

ProcessHitsMethod.

Process a single energy spot from a frozen shower. The appropriate region of the sensitive detector is calculated and a LArIdentifier is constructed

Implemented in BarrelFastSimDedicatedSD, EndcapFastSimDedicatedSD, and FCALFastSimDedicatedSD.

◆ setupHelpers()

void LArG4SimpleSD::setupHelpers ( const LArEM_ID * EM,
const LArFCAL_ID * FCAL,
const LArHEC_ID * HEC )
inlineinherited

Sets the ID helper pointers.

Definition at line 77 of file LArG4SimpleSD.h.

79 {
80 m_larEmID = EM;
83 }
const LArHEC_ID * m_larHecID
const LArFCAL_ID * m_larFcalID
const LArEM_ID * m_larEmID
Pointers to the identifier helpers.

◆ SimpleHit()

G4bool LArG4SimpleSD::SimpleHit ( const LArG4Identifier & lar_id,
G4double time,
G4double energy )
inherited

First method translates to this - also for fast sims.

Member Data Documentation

◆ m_calculator

ILArCalculatorSvc* LArG4SimpleSD::m_calculator
protectedinherited

Member variable - the calculator we'll use.

Definition at line 93 of file LArG4SimpleSD.h.

◆ m_larEmID

const LArEM_ID* LArG4SimpleSD::m_larEmID
protectedinherited

Pointers to the identifier helpers.

Definition at line 143 of file LArG4SimpleSD.h.

◆ m_larFcalID

const LArFCAL_ID* LArG4SimpleSD::m_larFcalID
protectedinherited

Definition at line 144 of file LArG4SimpleSD.h.

◆ m_larHecID

const LArHEC_ID* LArG4SimpleSD::m_larHecID
protectedinherited

Definition at line 145 of file LArG4SimpleSD.h.

◆ m_numberInvalidHits

G4int LArG4SimpleSD::m_numberInvalidHits
protectedinherited

Count the number of invalid hits.

Definition at line 96 of file LArG4SimpleSD.h.

◆ m_timeBins

timeBins_t LArG4SimpleSD::m_timeBins
protectedinherited

The map of hit sets binned in time.

Definition at line 140 of file LArG4SimpleSD.h.

◆ m_timeBinType

LArG4SimpleSD::LArHitTimeBins LArG4SimpleSD::m_timeBinType
protectedinherited

Definition at line 134 of file LArG4SimpleSD.h.

◆ 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 file: