ATLAS Offline Software
InnerDetector
InDetDetDescr
InDetGeoModelUtils
InDetGeoModelUtils
VolumeSplitter.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef InDetGeoModelUtils_VolumeSplitter_H
6
#define InDetGeoModelUtils_VolumeSplitter_H
7
8
#include "
InDetGeoModelUtils/VolumeSplitterUtils.h
"
9
10
#include <string>
11
#include <vector>
12
13
namespace
InDetDD
{
14
class
ServiceVolume
;
15
16
class
VolumeSplitter
17
{
18
public
:
19
VolumeSplitter
();
20
~VolumeSplitter
();
21
const
std::vector<const ServiceVolume *> &
splitAll
(
const
Zone
&
zone
,
const
std::vector<const ServiceVolume *>&);
22
void
split
(
const
Zone
&
zone
,
const
ServiceVolume
& origVolume);
23
const
std::vector<const ServiceVolume *> &
getVolumes
()
const
{
return
m_volumes
;}
24
// Take ownership of volumes. If called user must delete the volumes.
25
void
takeOwnership
() {
m_ownVolumes
=
false
;}
26
private
:
27
Ray
makeRay
(
const
ServiceVolume
& origVolume);
28
void
makeVolumes
(
const
Zone
*
zone
,
const
ServiceVolume
& origVolume);
29
void
splitVolume
(
const
Zone
*
zone
,
const
ServiceVolume
& vol);
30
void
adjustR
(
const
ServiceVolume
& param,
ServiceVolume
* paramNew);
31
32
bool
m_ownVolumes
;
33
double
m_epsilon
;
34
std::vector<const ServiceVolume *>
m_volumes
;
35
};
36
37
}
38
#endif // InDetGeoModelUtils_VolumeSplitter_H
ServiceVolume
Definition:
InDetServMatGeoModel/src/ServiceVolume.h:14
InDetDD::VolumeSplitter::splitAll
const std::vector< const ServiceVolume * > & splitAll(const Zone &zone, const std::vector< const ServiceVolume * > &)
Definition:
VolumeSplitter.cxx:28
InDetDD::VolumeSplitter::takeOwnership
void takeOwnership()
Definition:
VolumeSplitter.h:25
InDetDD::Zone
Definition:
VolumeSplitterUtils.h:71
InDetDD::VolumeSplitter::adjustR
void adjustR(const ServiceVolume ¶m, ServiceVolume *paramNew)
Definition:
VolumeSplitter.cxx:155
InDetDD::VolumeSplitter::splitVolume
void splitVolume(const Zone *zone, const ServiceVolume &vol)
Definition:
VolumeSplitter.cxx:82
InDetDD::VolumeSplitter
Definition:
VolumeSplitter.h:17
InDetDD::VolumeSplitter::m_ownVolumes
bool m_ownVolumes
Definition:
VolumeSplitter.h:32
InDetDD::Ray
Definition:
VolumeSplitterUtils.h:44
InDetDD::VolumeSplitter::getVolumes
const std::vector< const ServiceVolume * > & getVolumes() const
Definition:
VolumeSplitter.h:23
InDetDD::VolumeSplitter::~VolumeSplitter
~VolumeSplitter()
Definition:
VolumeSplitter.cxx:19
InDetDD::VolumeSplitter::makeRay
Ray makeRay(const ServiceVolume &origVolume)
Definition:
VolumeSplitter.cxx:41
InDetDD::VolumeSplitter::m_epsilon
double m_epsilon
Definition:
VolumeSplitter.h:33
python.draw_obj.zone
def zone(nx, ny)
Definition:
draw_obj.py:288
InDetDD::VolumeSplitter::m_volumes
std::vector< const ServiceVolume * > m_volumes
Definition:
VolumeSplitter.h:34
InDetDD::VolumeSplitter::VolumeSplitter
VolumeSplitter()
Definition:
VolumeSplitter.cxx:14
VolumeSplitterUtils.h
InDetDD::VolumeSplitter::split
void split(const Zone &zone, const ServiceVolume &origVolume)
Definition:
VolumeSplitter.cxx:36
InDetDD
Message Stream Member.
Definition:
FakeTrackBuilder.h:8
InDetDD::VolumeSplitter::makeVolumes
void makeVolumes(const Zone *zone, const ServiceVolume &origVolume)
Definition:
VolumeSplitter.cxx:61
InDetDD::ServiceVolume
Definition:
InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:24
Generated on Sun Dec 22 2024 21:22:26 for ATLAS Offline Software by
1.8.18