ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4FCAL
src
LArFCALCalculatorBase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArFCALCalculator
6
// 20-Feb-2003 Bill Seligman (from Peter Loch)
7
8
// A base class for the calculators required for the individual
9
// modules.
10
11
#ifndef LArFCALCalculatorBase_H
12
#define LArFCALCalculatorBase_H
13
14
//-----------------------------------------------------------------------------
15
//
16
// Forward Calorimeter Construction in GEANT4
17
//
18
//-----------------------------------------------------------------------------
19
#include "
LArG4Code/LArG4BirksLaw.h
"
20
#include "
LArG4Code/LArG4Identifier.h
"
21
#include "
LArG4Code/LArCalculatorSvcImp.h
"
22
#include "LArReadoutGeometry/FCAL_ChannelMap.h"
23
#include "
LArHV/FCALHVManager.h
"
24
#include "globals.hh"
25
#include <stdexcept>
26
27
class
LArG4BirksLaw
;
28
class
FCALModule
;
29
30
class
LArFCALCalculatorBase
:
public
LArCalculatorSvcImp
31
{
32
public
:
33
// constructor
34
LArFCALCalculatorBase
(
const
std::string& name, ISvcLocator *pSvcLocator);
35
LArFCALCalculatorBase
(
const
LArFCALCalculatorBase
&) =
delete
;
36
LArFCALCalculatorBase
operator=
(
const
LArFCALCalculatorBase
&) =
delete
;
37
virtual
StatusCode
initialize
()
override
;
38
40
41
virtual
G4float
OOTcut
()
const
override final {
return
m_OOTcut
; }
42
43
virtual
G4bool
Process
(
const
G4Step*, std::vector<LArHitData>&)
const
override
final
;
44
45
// Check if the current hitTime is in-time
46
virtual
G4bool
isInTime
(G4double
hitTime
)
const
override
final
47
{
48
return
!(
hitTime
>
m_OOTcut
);
//FIXME should we be checking the absolute value of hitTime here?
49
}
50
52
53
54
protected
:
55
Gaudi::Property<bool>
m_doHV
{
this
,
"FCALHVEnable"
,
false
};
56
Gaudi::Property<G4int>
m_FCalSampling
{
this
,
"FCALSampling"
, 0};
57
58
FCAL_ChannelMap
*
m_ChannelMap
{
nullptr
};
59
const
FCALModule
*
m_posModule
{
nullptr
};
// for hv access here...
60
const
FCALModule
*
m_negModule
{
nullptr
};
// for hv access here...
61
// sampling
62
63
std::unique_ptr<LArG4BirksLaw>
m_birksLaw
{};
64
65
FCALHVManager::FCALHVData
m_hvdata
;
66
};
67
68
#endif
// LArFCALCalculatorBase_H
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition
AFP_SIDSimHit.h:39
FCALHVManager.h
LArCalculatorSvcImp.h
LArG4BirksLaw.h
LArG4Identifier.h
FCALHVManager::FCALHVData
Definition
FCALHVManager.h:38
FCALModule
Definition
FCALModule.h:33
FCAL_ChannelMap
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
Definition
LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCAL_ChannelMap.h:34
LArCalculatorSvcImp::LArCalculatorSvcImp
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCalculatorSvcImp.h:15
LArCalculatorSvcImp::m_OOTcut
Gaudi::Property< double > m_OOTcut
Definition
LArCalculatorSvcImp.h:30
LArFCALCalculatorBase::m_hvdata
FCALHVManager::FCALHVData m_hvdata
Definition
LArFCALCalculatorBase.h:65
LArFCALCalculatorBase::OOTcut
virtual G4float OOTcut() const override final
Definition
LArFCALCalculatorBase.h:41
LArFCALCalculatorBase::LArFCALCalculatorBase
LArFCALCalculatorBase(const std::string &name, ISvcLocator *pSvcLocator)
LArFCALCalculatorBase::Process
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const override final
LArFCALCalculatorBase::m_birksLaw
std::unique_ptr< LArG4BirksLaw > m_birksLaw
Definition
LArFCALCalculatorBase.h:63
LArFCALCalculatorBase::m_FCalSampling
Gaudi::Property< G4int > m_FCalSampling
Definition
LArFCALCalculatorBase.h:56
LArFCALCalculatorBase::m_posModule
const FCALModule * m_posModule
Definition
LArFCALCalculatorBase.h:59
LArFCALCalculatorBase::initialize
virtual StatusCode initialize() override
LArFCALCalculatorBase::LArFCALCalculatorBase
LArFCALCalculatorBase(const LArFCALCalculatorBase &)=delete
LArFCALCalculatorBase::m_negModule
const FCALModule * m_negModule
Definition
LArFCALCalculatorBase.h:60
LArFCALCalculatorBase::operator=
LArFCALCalculatorBase operator=(const LArFCALCalculatorBase &)=delete
LArFCALCalculatorBase::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition
LArFCALCalculatorBase.h:46
LArFCALCalculatorBase::m_ChannelMap
FCAL_ChannelMap * m_ChannelMap
Definition
LArFCALCalculatorBase.h:58
LArFCALCalculatorBase::m_doHV
Gaudi::Property< bool > m_doHV
Definition
LArFCALCalculatorBase.h:55
LArG4BirksLaw
Definition
LArG4BirksLaw.h:8
const
Generated on
for ATLAS Offline Software by
1.17.0