Geant4
10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
TaskAllocatorList.hh
Go to the documentation of this file.
1
//
2
// MIT License
3
// Copyright (c) 2020 Jonathan R. Madsen
4
// Permission is hereby granted, free of charge, to any person obtaining a copy
5
// of this software and associated documentation files (the "Software"), to deal
6
// in the Software without restriction, including without limitation the rights
7
// to use, copy, modify, merge, publish, distribute, sublicense, and
8
// copies of the Software, and to permit persons to whom the Software is
9
// furnished to do so, subject to the following conditions:
10
// The above copyright notice and this permission notice shall be included in
11
// all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED
12
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
13
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
16
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
17
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
//
19
// ------------------------------------------------------------
20
// Tasking class header file
21
//
22
// Class Description:
23
//
24
// A class to store all TaskAllocator objects in a thread for the sake
25
// of cleanly deleting them.
26
//
27
// ------------------------------------------------------------
28
29
#pragma once
30
31
#include "
PTL/Globals.hh
"
32
#include <vector>
33
34
namespace
PTL
35
{
36
class
TaskAllocatorBase;
37
38
class
TaskAllocatorList
39
{
40
public
:
// with description
41
static
TaskAllocatorList
*
GetAllocatorList
();
42
static
TaskAllocatorList
*
GetAllocatorListIfExist
();
43
44
public
:
45
~TaskAllocatorList
();
46
void
Register
(
TaskAllocatorBase
*);
47
void
Destroy
(
int
nStat = 0,
int
verboseLevel = 0);
48
int
Size
()
const
;
49
50
private
:
51
TaskAllocatorList
();
52
53
private
:
54
static
TaskAllocatorList
*& fAllocatorList();
55
std::vector<TaskAllocatorBase*> fList;
56
};
57
58
}
// namespace PTL
Globals.hh
PTL::TaskAllocatorBase
Definition:
TaskAllocator.hh:46
PTL::TaskAllocatorList
Definition:
TaskAllocatorList.hh:39
PTL::TaskAllocatorList::GetAllocatorListIfExist
static TaskAllocatorList * GetAllocatorListIfExist()
Definition:
TaskAllocatorList.cc:54
PTL::TaskAllocatorList::~TaskAllocatorList
~TaskAllocatorList()
Definition:
TaskAllocatorList.cc:65
PTL::TaskAllocatorList::Destroy
void Destroy(int nStat=0, int verboseLevel=0)
Definition:
TaskAllocatorList.cc:78
PTL::TaskAllocatorList::Size
int Size() const
Definition:
TaskAllocatorList.cc:124
PTL::TaskAllocatorList::Register
void Register(TaskAllocatorBase *)
Definition:
TaskAllocatorList.cc:70
PTL::TaskAllocatorList::GetAllocatorList
static TaskAllocatorList * GetAllocatorList()
Definition:
TaskAllocatorList.cc:42
PTL
Definition:
AutoLock.hh:254
geant4-v10.7.0
source
externals
ptl
include
PTL
TaskAllocatorList.hh
Generated by
1.9.6