ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetG4
SCT_G4_SD
src
SctSensor_CTB.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/****************************************************************
6
SCT Sensitive Detector class
7
Davide Costanzo Jul 14th 2003.
8
****************************************************************/
9
10
#ifndef SCT_G4_SD_SCTSENSOR_CTB_H
11
#define SCT_G4_SD_SCTSENSOR_CTB_H
12
13
// Base class
14
#include "G4VSensitiveDetector.hh"
15
16
// For the hits
17
#include "
InDetSimEvent/SiHitCollection.h
"
18
#include <gtest/gtest_prod.h>
19
20
class
AtlasG4EventUserInfo
;
21
// G4 needed classes
22
class
G4Step;
23
class
G4TouchableHistory;
24
25
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
26
27
class
SctSensor_CTB
:
public
G4VSensitiveDetector
28
{
29
FRIEND_TEST
( SctSensor_CTBtest,
ProcessHits
);
30
FRIEND_TEST
( SctSensor_CTBtest,
AddHit
);
31
public
:
32
// Constructor
33
SctSensor_CTB
(
const
std::string& name,
const
std::string& hitCollectionName );
34
35
// Process each G4 hit
36
G4bool
ProcessHits
(G4Step*, G4TouchableHistory*)
override
final
;
37
38
// For setting up the hit collection
39
void
Initialize
(G4HCofThisEvent *)
override
final
;
40
44
template
<
class
...
Args
>
void
AddHit
(
Args
&&... args){
m_HitColl
->Emplace( args... ); }
45
46
private
:
47
// The hits collection
48
std::string
m_HitCollName
;
49
SiHitCollection
*
m_HitColl
{
nullptr
};
50
AtlasG4EventUserInfo
*
m_g4UserEventInfo
{
nullptr
};
51
};
52
53
#endif
//SCT_G4_SD_SCTSENSOR_CTB_H
SiHitCollection.h
SiHitCollection
AtlasHitsVector< SiHit > SiHitCollection
Definition
SiHitCollection.h:14
AtlasG4EventUserInfo
This class is attached to G4Event objects as UserInformation.
Definition
AtlasG4EventUserInfo.h:26
SctSensor_CTB::AddHit
void AddHit(Args &&... args)
Templated method to stuff a single hit into the sensitive detector class.
Definition
SctSensor_CTB.h:44
SctSensor_CTB::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Definition
SctSensor_CTB.cxx:53
SctSensor_CTB::m_HitCollName
std::string m_HitCollName
Definition
SctSensor_CTB.h:48
SctSensor_CTB::FRIEND_TEST
FRIEND_TEST(SctSensor_CTBtest, ProcessHits)
SctSensor_CTB::SctSensor_CTB
SctSensor_CTB(const std::string &name, const std::string &hitCollectionName)
Definition
SctSensor_CTB.cxx:32
SctSensor_CTB::FRIEND_TEST
FRIEND_TEST(SctSensor_CTBtest, AddHit)
SctSensor_CTB::Initialize
void Initialize(G4HCofThisEvent *) override final
Definition
SctSensor_CTB.cxx:40
SctSensor_CTB::m_g4UserEventInfo
AtlasG4EventUserInfo * m_g4UserEventInfo
Definition
SctSensor_CTB.h:50
SctSensor_CTB::m_HitColl
SiHitCollection * m_HitColl
Definition
SctSensor_CTB.h:49
Args
Definition
test_lwtnn_fastgraph.cxx:12
Generated on
for ATLAS Offline Software by
1.17.0