ATLAS Offline Software
Loading...
Searching...
No Matches
LArG4H6COLDTCMod0Calculator.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// LArG4H6COLDTCMod0Calculator
6// Prepared 8-March-2004: Mohsen Khakzad
7// Updated for GeoModelize simulations 27-May-2007: P. Strizenec
8
9// Defines constants specific to a single FCAL module.
10
11#ifndef LArG4H6COLDTCMod0Calculator_H
12#define LArG4H6COLDTCMod0Calculator_H
13
16#include "AthenaKernel/Units.h"
17
18#include "globals.hh"
19
21
22namespace Units = Athena::Units;
23
25{
26public:
27
28 LArG4H6COLDTCMod0Calculator(const std::string& name, ISvcLocator* pSvcLocator);
29 virtual StatusCode initialize() override final;
30 // destructor
31 virtual ~LArG4H6COLDTCMod0Calculator() = default;
32
33 virtual G4float OOTcut() const override final { return m_OOTcut; }
34
35 virtual G4bool Process(const G4Step*, std::vector<LArHitData>&) const override final;
36
37 virtual G4bool isInTime(G4double hitTime) const override final
38 {
39 return !(hitTime > m_OOTcut);
40 }
41
42private:
43 // private datamember handling the hit
44 Gaudi::Property<G4int> m_FCalSampling {this, "FCalSampling", 3};
45
46 // geometry of ColdTC: overall
47 Gaudi::Property<G4double> m_phiModuleStart {this, "phiModuleStart", 90.*Units::deg};
48 Gaudi::Property<G4double> m_phiModuleEnd {this, "phiModuleEnd", 180.*Units::deg};
49 Gaudi::Property<G4double> m_fullModuleDepth {this, "fullModuleDepth", 3.5*8*Units::cm};
50
51 // geometry of ColdTC: active argon
52 Gaudi::Property<G4double> m_fullActiveDepth {this, "fullActiveDepth", 0.2*Units::cm};
53 Gaudi::Property<G4double> m_innerActiveRadius {this, "innerActiveRadius", 8.6*Units::cm};
54 Gaudi::Property<G4double> m_outerActiveRadius {this, "outerActiveRadius", 45.05*Units::cm};
55 Gaudi::Property<G4double> m_areaActive {this, "areaActive", 95.994*Units::cm2};
56
57 // Channel map
59};
60#endif
float hitTime(const AFP_SIDSimHit &hit)
Wrapper to avoid constant divisions when using units.
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_OOTcut
Gaudi::Property< G4double > m_innerActiveRadius
Gaudi::Property< G4double > m_fullActiveDepth
virtual G4float OOTcut() const override final
virtual StatusCode initialize() override final
Gaudi::Property< G4double > m_outerActiveRadius
Gaudi::Property< G4double > m_phiModuleStart
Gaudi::Property< G4int > m_FCalSampling
Gaudi::Property< G4double > m_phiModuleEnd
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const override final
LArG4H6COLDTCMod0ChannelMap m_channelMap
LArG4H6COLDTCMod0Calculator(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< G4double > m_fullModuleDepth
virtual G4bool isInTime(G4double hitTime) const override final
Gaudi::Property< G4double > m_areaActive