BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
bdsim
include
BDSHitSamplerLink.hh
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3
University of London 2001 - 2023.
4
5
This file is part of BDSIM.
6
7
BDSIM is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published
9
by the Free Software Foundation version 3 of the License.
10
11
BDSIM is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
#ifndef BDSHITSAMPLERLINK_H
20
#define BDSHITSAMPLERLINK_H
21
22
#include "BDSHitSampler.hh"
23
#include "BDSParticleCoordsFull.hh"
24
25
#include "G4Types.hh"
26
#include "G4VHit.hh"
27
#include "G4THitsCollection.hh"
28
#include "G4Allocator.hh"
29
38
class
BDSHitSamplerLink
:
public
BDSHitSampler
39
{
40
public
:
41
BDSHitSamplerLink
() =
delete
;
42
BDSHitSamplerLink
(G4int samplerIDIn,
43
const
BDSParticleCoordsFull
& coordsIn,
44
G4double momentumIn,
45
G4double massIn,
46
G4int ZIn,
47
G4int AIn,
48
G4double chargeIn,
49
G4int pdgIDIn,
50
G4int parentIDIn,
51
G4int trackIDIn,
52
G4int nElectronsIn = 0);
53
55
virtual
~BDSHitSamplerLink
();
56
57
inline
void
*
operator
new
(size_t);
58
inline
void
operator
delete
(
void
*aHit);
59
60
G4int Z;
61
G4int A;
62
G4int eventID;
63
G4int externalParticleID;
64
G4int externalParentID;
65
};
66
67
typedef
G4THitsCollection<BDSHitSamplerLink>
BDSHitsCollectionSamplerLink
;
68
extern
G4Allocator<BDSHitSamplerLink> BDSAllocatorSamplerLink;
69
70
inline
void
* BDSHitSamplerLink::operator
new
(size_t)
71
{
72
void
* aHit;
73
aHit=(
void
*) BDSAllocatorSamplerLink.MallocSingle();
74
return
aHit;
75
}
76
77
inline
void
BDSHitSamplerLink::operator
delete
(
void
*aHit)
78
{
79
BDSAllocatorSamplerLink.FreeSingle((
BDSHitSamplerLink
*) aHit);
80
}
81
82
#endif
BDSHitSamplerLink
The information recorded from a particle impacting a link sampler.
Definition:
BDSHitSamplerLink.hh:39
BDSHitSamplerLink::~BDSHitSamplerLink
virtual ~BDSHitSamplerLink()
Note this should not be inline when we use a G4Allocator.
Definition:
BDSHitSamplerLink.cc:46
BDSHitSamplerLink::BDSHitSamplerLink
BDSHitSamplerLink()=delete
No default constructor.
BDSHitSampler
The information recorded from a particle impacting a sampler.
Definition:
BDSHitSampler.hh:36
BDSParticleCoordsFull
A set of particle coordinates including energy and weight.
Definition:
BDSParticleCoordsFull.hh:35
G4THitsCollection
Definition:
BDSOutput.hh:35
Generated on Mon Aug 14 2023 13:49:30 for BDSIM by
1.9.6