|
ATLAS Offline Software
|
#include <TileFCS_StepInfoSD.h>
|
void | getCaloDDManager () |
| Keep a map instead of trying to keep the full vector. More...
|
|
void | update_map (const CLHEP::Hep3Vector &l_vec, const Identifier &l_identifier, double l_energy, double l_time, bool l_valid, int l_detector, double timeWindow, double distanceWindow) |
|
Definition at line 29 of file TileFCS_StepInfoSD.h.
◆ TileFCS_StepInfoSD() [1/2]
◆ TileFCS_StepInfoSD() [2/2]
◆ C10_connected()
bool TileFCS_StepInfoSD::C10_connected |
( |
int |
module | ) |
const |
|
inlineprivate |
◆ cellReadOutByOnePMT()
bool TileFCS_StepInfoSD::cellReadOutByOnePMT |
( |
const Identifier & |
id | ) |
const |
|
inlineprivate |
◆ EndOfAthenaEvent()
End of athena event processing.
Definition at line 209 of file FCS_StepInfoSD.cxx.
213 for (
auto *a_s : *
it.second) {
215 hitContainer->push_back( a_s );
222 G4cout <<this->GetName()<<
" DEBUG EndOfAthenaEvent: After initial cleanup, N=" << hitContainer->size() << G4endl;
◆ getCaloDDManager()
void FCS_StepInfoSD::getCaloDDManager |
( |
| ) |
|
|
protectedinherited |
Keep a map instead of trying to keep the full vector.
At the end of the event we'll push the map back into the FCS_StepInfoCollection in StoreGate.
Definition at line 145 of file FCS_StepInfoSD.cxx.
148 if(caloMgrKey.initialize().isFailure()) {
150 description <<
"Failed to get CaloDetDescrManager!";
151 G4Exception(
"FCS_StepInfoSD",
"FCSBadCall", FatalException,
description);
◆ getMaxDeltaEta()
NB The result of this function should actually be constant for each SD
Definition at line 94 of file FCS_StepInfoSD.cxx.
◆ getMaxDeltaPhi()
NB The result of this function should actually be constant for each SD
Definition at line 119 of file FCS_StepInfoSD.cxx.
◆ getMaxDeltaR()
NB The result of this function should actually be constant for each SD
Definition at line 69 of file FCS_StepInfoSD.cxx.
◆ getMaxRadius()
NB The result of this function should actually be constant for each SD
Definition at line 54 of file FCS_StepInfoSD.cxx.
◆ getMaxTime()
NB The result of this function should actually be constant for each SD
Definition at line 39 of file FCS_StepInfoSD.cxx.
◆ operator=()
◆ ProcessHits()
G4bool TileFCS_StepInfoSD::ProcessHits |
( |
G4Step * |
a_step, |
|
|
G4TouchableHistory * |
|
|
) |
| |
|
finaloverridevirtual |
Main processing method.
Reimplemented from FCS_StepInfoSD.
Definition at line 35 of file TileFCS_StepInfoSD.cxx.
41 if(a_step->GetTotalEnergyDeposit() <= 0.) {
return result; }
50 if ((micHit.
pmt_up == invalid_id) && (micHit.
pmt_down == invalid_id)) {
51 G4cout <<this->GetName()<<
" WARNING ProcessHits: Invalid hit in Tile??"<<G4endl;
58 G4cout <<this->GetName()<<
" WARNING ProcessHits: Something wrong in identifier: tile pmt_up: "<<micHit.
pmt_up<<std::endl;
60 G4cout <<this->GetName()<<
" WARNING ProcessHits: E up: "<<micHit.
e_up<<
" E down: "<<micHit.
e_down<<
" T up: "<<micHit.
time_up<<
" T down: "<<micHit.
time_down<<std::endl;
63 G4cout <<this->GetName()<<
" WARNING ProcessHits: Something wrong in identifier: tile pmt_down: "<<micHit.
pmt_down<<std::endl;
65 G4cout <<this->GetName()<<
" WARNING ProcessHits: E up: "<<micHit.
e_up<<
" E down: "<<micHit.
e_down<<
" T up: "<<micHit.
time_up<<
" T down: "<<micHit.
time_down<<std::endl;
68 const G4ThreeVector
pos = 0.5*(a_step->GetPreStepPoint()->GetPosition()+a_step->GetPostStepPoint()->GetPosition());
69 const int numberOfProcessedHits(1);
◆ setupHelpers()
◆ update_map()
void FCS_StepInfoSD::update_map |
( |
const CLHEP::Hep3Vector & |
l_vec, |
|
|
const Identifier & |
l_identifier, |
|
|
double |
l_energy, |
|
|
double |
l_time, |
|
|
bool |
l_valid, |
|
|
int |
l_detector, |
|
|
double |
timeWindow, |
|
|
double |
distanceWindow |
|
) |
| |
|
protectedinherited |
Definition at line 158 of file FCS_StepInfoSD.cxx.
167 G4cout<<this->GetName()<<
" DEBUG update_map: bad identifier: "<<l_identifier.
getString()<<
" skipping this hit."<<G4endl;
172 auto map_item =
m_hit_map.find( l_identifier );
174 m_hit_map[l_identifier] =
new std::vector< ISF_FCS_Parametrization::FCS_StepInfo* >;
184 for (
auto *map_it : * map_item->second) {
186 const double delta_t = std::fabs(map_it->time()-l_time);
187 if ( delta_t >= tsame ) {
continue; }
188 if ( delta_t >= timeWindow ) {
continue; }
191 const CLHEP::Hep3Vector & currentPosition = map_it->position();
192 const double hit_diff2 = currentPosition.diff2( l_vec );
194 if ( hit_diff2 >= distanceWindow ) {
continue; }
◆ m_calculator
◆ m_calo_dd_man
◆ m_config
◆ m_hit_map
◆ m_larEmID
◆ m_larFcalID
◆ m_larHecID
◆ m_tileID
The documentation for this class was generated from the following files:
bool cellReadOutByOnePMT(const Identifier &id) const
Some Tile Cells are only read out by one PMT rather than two.
std::map< Identifier, std::vector< ISF_FCS_Parametrization::FCS_StepInfo * > * > m_hit_map
void update_map(const CLHEP::Hep3Vector &l_vec, const Identifier &l_identifier, double l_energy, double l_time, bool l_valid, int l_detector, double timeWindow, double distanceWindow)
void getCaloDDManager()
Keep a map instead of trying to keep the full vector.
double m_maxRadius
property, see LArG4GenShowerLib::LArG4GenShowerLib
int sample(const Identifier &id) const
double getMaxTime(const CaloCell_ID::CaloSample &layer) const
const int NC
Number of levels for Carbon.
CxxUtils::CachedPointer< const CaloDetDescrManager > m_calo_dd_man
Variables to identify Hit objects.
void set(pointer_t elt) const
Set the element, assuming it is currently null.
FCS_StepInfoSD(G4String a_name, const FCS_Param::Config &config)
Constructor.
virtual TileMicroHit GetTileMicroHit(const G4Step *, TileHitData &hitData) const =0
Used by FastCaloSimParamAction.
bool is_tile_gapscin(const Identifier &id) const
int module(const Identifier &id) const
const LArHEC_ID * m_larHecID
const LArEM_ID * m_larEmID
Pointers to the identifier helpers.
double m_maxRadiusLAr
property, see LArG4GenShowerLib::LArG4GenShowerLib
std::string getString() const
Provide a string form of the identifier - hexadecimal.
double m_maxRadiusTile
property, see LArG4GenShowerLib::LArG4GenShowerLib
std::string to_string(const Identifier &id, int level=0) const
pointer_t get() const
Return the current value of the element.
ITileCalculator * m_calculator
FCS_Param::Config m_config
int section(const Identifier &id) const
bool C10_connected(int module) const
A copy of the method in TileCablingService.cxx.
int verboseLevel
Helper to keep the same verbosity everywhere.
double m_maxRadiusFCAL
property, see LArG4GenShowerLib::LArG4GenShowerLib
double m_maxRadiusHEC
property, see LArG4GenShowerLib::LArG4GenShowerLib
bool match(std::string s1, std::string s2)
match the individual directories of two strings
std::string description
glabal timer - how long have I taken so far?
const LArFCAL_ID * m_larFcalID