ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
InDetDD::ServiceVolume Class Reference

#include <ServiceVolume.h>

Collaboration diagram for InDetDD::ServiceVolume:

Public Member Functions

 ServiceVolume ()
 
 ServiceVolume (const ServiceVolume &)
 
void setRmin (double rmin)
 
void setRmax (double rmax)
 
void setRmin2 (double rmin2)
 
void setRmax2 (double rmax2)
 
void setZmin (double zmin)
 
void setZmax (double zmax)
 
void setZsymm (bool zsymm)
 
void setMaterial (const std::string &mat)
 
void setMaterial (const GeoMaterial *mat)
 
void setVolName (const std::string &name)
 
void setShapeType (const std::string &shapeType)
 
void setPhiLoc (double phiLoc)
 
void setPhiWidth (double phiWidth)
 
void setNeedsRotation (bool flag)
 
void setSides (int sides)
 
void setNCopies (int num)
 
void setRegion (const std::string &region)
 
void setLabel (const std::string &name, int volId)
 
void setLabel (const std::string &name)
 
void addLabel (const std::string &name)
 
void setOrigVolume (double volume)
 
void resetGeoShape ()
 
void reduceSize (double safety)
 
void setGeoShape (const GeoShape *geoShape, double volume=0)
 
void setEnvelopeNum (int num)
 
void setParentEnvelope (int num)
 
void setZShift (double shift)
 
double rmin () const
 
double rmax () const
 
double rmin2 () const
 
double rmax2 () const
 
double zmin () const
 
double zmax () const
 
bool zsymm () const
 
const std::string & materialName () const
 
const GeoMaterial * material () const
 
const std::string & volName () const
 
const std::string & shapeType () const
 
double phiLoc () const
 
double phiWidth () const
 
bool needsRotation () const
 
int sides () const
 
int nCopies () const
 
const std::string & region () const
 
std::string fullLabel () const
 
double length () const
 
double zposition () const
 
double rposition () const
 
double volume () const
 
double origVolume () const
 
const GeoShape * getShape () const
 
bool splittableInR () const
 
bool splittableInZ () const
 
int envelopeNum () const
 
int envelopeParent () const
 
double zShift () const
 
void print () const
 

Private Member Functions

void setSplittable ()
 

Private Attributes

double m_rmin
 
double m_rmax
 
double m_rmin2
 
double m_rmax2
 
double m_zmin
 
double m_zmax
 
bool m_zsymm
 
GeoShapeHolder m_geoShape ATLAS_THREAD_SAFE
 
const GeoMaterial * m_material
 
std::string m_materialName
 
std::string m_volName
 
std::string m_shapeType
 
double m_phiLoc
 
double m_phiWidth
 
bool m_needsRotation
 
int m_sides
 
int m_nCopies
 
double m_origVolume
 
double m_volume ATLAS_THREAD_SAFE
 
double m_safety
 
std::string m_region
 
std::string m_label
 
bool m_lockGeoShape
 
bool m_splittableR
 
bool m_splittableZ
 
int m_envNum
 
int m_envParentNum
 
double m_zShift
 
std::mutex m_mutex
 

Detailed Description

Definition at line 24 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

Constructor & Destructor Documentation

◆ ServiceVolume() [1/2]

ServiceVolume::ServiceVolume ( )

Definition at line 96 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

97  : m_rmin(0),
98  m_rmax(0),
99  m_rmin2(0),
100  m_rmax2(0),
101  m_zmin(0),
102  m_zmax(0),
103  //m_volId(0),
104  m_zsymm(false),
105  m_geoShape(nullptr),
106  m_material(nullptr),
107  m_phiLoc(0),
108  m_phiWidth(0),
109  m_needsRotation(false),
110  m_sides(0),
111  m_nCopies(1),
112  //m_origLength(0),
113  m_origVolume(0),
114  m_volume(0),
115  m_safety(0),
116  m_lockGeoShape(0),
117  m_splittableR(true),
118  m_splittableZ(true),
119  m_envNum(0),
120  m_envParentNum(0),
121  m_zShift(0.),
122  m_mutex()
123  {}

◆ ServiceVolume() [2/2]

ServiceVolume::ServiceVolume ( const ServiceVolume rhs)

Definition at line 125 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

126  : m_rmin(rhs.m_rmin),
127  m_rmax(rhs.m_rmax),
128  m_rmin2(rhs.m_rmin2),
129  m_rmax2(rhs.m_rmax2),
130  m_zmin(rhs.m_zmin),
131  m_zmax(rhs.m_zmax),
132  //m_volId(rhs.m_volId),
133  m_zsymm(rhs.m_zsymm),
134  m_geoShape(rhs.m_geoShape),
135  m_material(rhs.m_material),
136  m_materialName(rhs.m_materialName),
137  m_volName(rhs.m_volName),
138  m_shapeType(rhs.m_shapeType),
139  m_phiLoc(rhs.m_phiLoc),
140  m_phiWidth(rhs.m_phiWidth),
141  m_needsRotation(rhs.m_needsRotation),
142  m_sides(rhs.m_sides),
143  m_nCopies(rhs.m_nCopies),
144  //m_origLength(rhs.m_origLength),
145  m_origVolume(rhs.m_origVolume),
146  m_volume(rhs.m_volume),
147  m_safety(rhs.m_safety),
148  m_region(rhs.m_region),
149  m_label(rhs.m_label),
150  m_lockGeoShape(rhs.m_lockGeoShape),
151  m_splittableR(rhs.m_splittableR),
152  m_splittableZ(rhs.m_splittableZ),
153  m_envNum(rhs.m_envNum),
154  m_envParentNum(rhs.m_envParentNum),
155  m_zShift(rhs.m_zShift),
156  m_mutex()
157  {}

Member Function Documentation

◆ addLabel()

void InDetDD::ServiceVolume::addLabel ( const std::string &  name)
inline

◆ envelopeNum()

int InDetDD::ServiceVolume::envelopeNum ( ) const
inline

Definition at line 91 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

91 {return m_envNum; }

◆ envelopeParent()

int InDetDD::ServiceVolume::envelopeParent ( ) const
inline

Definition at line 92 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

92 {return m_envParentNum; }

◆ fullLabel()

std::string ServiceVolume::fullLabel ( ) const

Definition at line 176 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

176  {
177  if (m_volName.empty()) return m_label;
178 
179  return m_label + "_" + m_volName;
180  }

◆ getShape()

const GeoShape * ServiceVolume::getShape ( ) const

Definition at line 194 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

194  {
195  std::lock_guard<std::mutex> lock(m_mutex);
196 
197  // If prebuilt then return
198  if (m_geoShape.get()) return m_geoShape.get();
199 
200  //
201  // Dimensions
202  //
203  //double rmin = rmin();
204  //double rmax = rmax();
205  //double rmin2 = rmin2();
206  //double rmax2 = rmax2();
207  //double phiLoc = phiLoc();
208  //double phiWidth = phiWidth();
209  //int sides = sides();
210  //const std::string & shapeType = shapeType();
211 
212  double halflength = 0.5 * length();
213 
214  //std::cout << "Building service volume " << logName << ": "
215  // << rmin << ", "
216  // << rmax << ", "
217  // << halflength << ", "
218  // << materialName << std::endl;
219 
220  const GeoShape* serviceShape = nullptr;
221  double volume = 0;
222 
223  // Check if service needs to be shifted
224  // if(fabs(m_zShift)>0.001)
225  // std::cout<<"SHIFTED SERVICE : "<<m_volName<<" "<<m_shapeType<<std::endl;
226 
227  if (m_shapeType.empty() || m_shapeType == "TUBE") {
228  serviceShape = new GeoTube(m_rmin, m_rmax, halflength);
229  } else if (m_shapeType == "TUBS") {
230  serviceShape = new GeoTubs(m_rmin, m_rmax, halflength, m_phiLoc, m_phiWidth);
231  } else if (m_shapeType == "CONS" || m_shapeType == "CONE") {
232  double phiWidthTmp = m_phiWidth;
233  if (m_shapeType == "CONE" || phiWidthTmp == 0) {
234  phiWidthTmp = 2 * M_PI;
235  }
236  serviceShape = new GeoCons(m_rmin, m_rmin2, m_rmax, m_rmax2, halflength, m_phiLoc, phiWidthTmp);
237  } else if (m_shapeType == "PGON") {
238  GeoPgon* shapeTmp = new GeoPgon(m_phiLoc, 2 * M_PI, m_sides);
239  shapeTmp->addPlane(-halflength, m_rmin, m_rmax);
240  shapeTmp->addPlane(halflength, m_rmin2, m_rmax2);
241  serviceShape = shapeTmp;
242  } else if (m_shapeType == "PGON2") {
243  // Radius defined at the side, not the corner
244  double alpha = M_PI / m_sides;
245  double cosalpha = cos(alpha);
246  double rminB = m_rmin / cosalpha;
247  double rmaxB = m_rmax / cosalpha;
248  double rmin2B = m_rmin2 / cosalpha;
249  double rmax2B = m_rmax2 / cosalpha;
250  GeoPgon* shapeTmp = new GeoPgon(m_phiLoc - alpha, 2 * M_PI, m_sides);
251  shapeTmp->addPlane(-halflength, rminB, rmaxB);
252  shapeTmp->addPlane(halflength, rmin2B, rmax2B);
253  serviceShape = shapeTmp;
254  } else if (m_shapeType == "PGON3" || m_shapeType == "PGON4") {
255  // Outer edge
256  GeoPgon* shapeTmp1 = nullptr;
257  if (m_shapeType == "PGON3") {
258  shapeTmp1 = new GeoPgon(m_phiLoc, 2 * M_PI, m_sides);
259  shapeTmp1->addPlane(-halflength, 0, m_rmax);
260  shapeTmp1->addPlane(halflength, 0, m_rmax2);
261  } else { //PGON4
262  double alpha = M_PI / m_sides;
263  double cosalpha = cos(alpha);
264  double rmaxB = m_rmax / cosalpha;
265  double rmax2B = m_rmax2 / cosalpha;
266  shapeTmp1 = new GeoPgon(m_phiLoc - alpha, 2 * M_PI, m_sides);
267  shapeTmp1->addPlane(-halflength, 0, rmaxB);
268  shapeTmp1->addPlane(halflength, 0, rmax2B);
269  }
270  // Don't trust boolean volume calculation.
271  volume = shapeTmp1->volume();
272  // Inner edge
273  GeoShape* shapeTmp2 = nullptr;
274  if (m_rmin == m_rmin2) {
275  shapeTmp2 = new GeoTube(0, m_rmin, halflength + 0.1 * Gaudi::Units::mm);
276  volume -= 2 * M_PI * m_rmin * m_rmin * halflength;
277  } else {
278  shapeTmp2 = new GeoCons(0, 0, m_rmin, m_rmin2, halflength + 0.1 * Gaudi::Units::mm, 0, 2 * M_PI);
279  volume -= 2 * M_PI * pow(0.5 * (m_rmin + m_rmin2), 2) * halflength;
280  }
281  serviceShape = &(shapeTmp1->subtract(*shapeTmp2));
282  }
283 // else if (m_shapeType == "PGON31"){
284 // // Outer edge
285 // GeoTube *shapeTmp1 = new GeoTube(0,m_rmax,halflength);
286 // halflength+=0.1*CLHEP::mm;
287 // double alpha = M_PI/m_sides;
288 // double cosalpha = cos(alpha);
289 // double rmaxB = m_rmin/cosalpha;
290 // double rmax2B = m_rmin2/cosalpha;
291 // GeoPgon* shapeTmp2 = new GeoPgon(m_phiLoc-alpha,2*M_PI,m_sides);
292 // shapeTmp2->addPlane(-halflength,0.,rmaxB);
293 // shapeTmp2->addPlane(halflength,0.,rmax2B);
294 // // Don't trust boolean volume calculation.
295 // volume = shapeTmp1->volume() - shapeTmp2->volume();
296 // serviceShape = &(shapeTmp1->subtract(*shapeTmp2));
297 // }
298  else if (m_shapeType == "ROD") {
299  serviceShape = new GeoTube(0, 0.5 * m_phiWidth, halflength);
300  } else if (m_shapeType == "ROD2") {
301  // std::cout<<"ROD2 : "<<m_rmin<<" "<<m_rmin2<<" "<<0.5*m_phiWidth<<" "<<halflength<<std::endl;
302  serviceShape = new GeoTube(m_rmin2 - m_rmin, 0.5 * m_phiWidth, halflength);
303  } else if (m_shapeType == "BOX") {
304  serviceShape = new GeoBox(0.5 * (m_rmax - m_rmin), 0.5 * m_phiWidth, halflength);
305  } else if (m_shapeType == "TRAP") {
306  double thickness = 0.5 * (m_rmax - m_rmin);
307  double averad = 0.5 * (m_rmin + m_rmax);
308  double w1 = 0.5 * m_phiWidth * m_rmin / averad;
309  double w2 = 0.5 * m_phiWidth * m_rmax / averad;
310  serviceShape = new GeoTrap(halflength, 0, 0, thickness, w1, w2, 0, thickness, w1, w2, 0);
311  } else {
312  // msg(MSG::ERROR) << "Unrecognized shape for services" << m_shapeType << endmsg;
313  std::cout << "ServiceVolume: ERROR: Unrecognized shape for services" << m_shapeType << std::endl;
314  }
315 
316  if (!volume && serviceShape != nullptr) volume = serviceShape->volume();
317 
318  m_volume = volume;
319  m_geoShape = serviceShape;
320  return serviceShape;
321  }

◆ length()

double InDetDD::ServiceVolume::length ( ) const
inline

Definition at line 82 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

82 {return std::abs(m_zmax - m_zmin) - 2*m_safety;}

◆ material()

const GeoMaterial* InDetDD::ServiceVolume::material ( ) const
inline

Definition at line 71 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

71 {return m_material;}

◆ materialName()

const std::string& InDetDD::ServiceVolume::materialName ( ) const
inline

Definition at line 70 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

70 {return m_materialName;}

◆ nCopies()

int InDetDD::ServiceVolume::nCopies ( ) const
inline

Definition at line 78 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

78 {return m_nCopies;}

◆ needsRotation()

bool InDetDD::ServiceVolume::needsRotation ( ) const
inline

◆ origVolume()

double ServiceVolume::origVolume ( ) const

Definition at line 349 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

349  {
350  if (m_origVolume) return m_origVolume;
351 
352  return volume();
353  }

◆ phiLoc()

double InDetDD::ServiceVolume::phiLoc ( ) const
inline

Definition at line 74 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

74 {return m_phiLoc;}

◆ phiWidth()

double InDetDD::ServiceVolume::phiWidth ( ) const
inline

Definition at line 75 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

75 {return m_phiWidth;}

◆ print()

void ServiceVolume::print ( ) const

Definition at line 183 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

183  {
184  std::cout << m_rmin << " "
185  << m_rmax << " "
186  << m_zmin << " "
187  << m_zmax << " "
188  << m_region << " "
189  << fullLabel()
190  << std::endl;
191  }

◆ reduceSize()

void ServiceVolume::reduceSize ( double  safety)

Definition at line 160 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

160  {
161  // Don't do anything if its a very thin volume.
162  if (length() > 4. * safety) {
164  m_safety = safety;
165  }
166  std::lock_guard<std::mutex> lock(m_mutex);
167  m_geoShape = nullptr;
168  }

◆ region()

const std::string& InDetDD::ServiceVolume::region ( ) const
inline

Definition at line 80 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

80 {return m_region;}

◆ resetGeoShape()

void InDetDD::ServiceVolume::resetGeoShape ( )
inline

Definition at line 52 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

52 {if (!m_lockGeoShape) m_geoShape.reset();}

◆ rmax()

double InDetDD::ServiceVolume::rmax ( ) const
inline

Definition at line 63 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

63 {return m_rmax;}

◆ rmax2()

double InDetDD::ServiceVolume::rmax2 ( ) const
inline

Definition at line 65 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

65 {return m_rmax2;}

◆ rmin()

double InDetDD::ServiceVolume::rmin ( ) const
inline

Definition at line 62 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

62 {return m_rmin;}

◆ rmin2()

double InDetDD::ServiceVolume::rmin2 ( ) const
inline

Definition at line 64 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

64 {return m_rmin2;}

◆ rposition()

double InDetDD::ServiceVolume::rposition ( ) const
inline

Definition at line 84 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

84 {return 0.5 * (m_rmin + m_rmax);}

◆ setEnvelopeNum()

void InDetDD::ServiceVolume::setEnvelopeNum ( int  num)
inline

◆ setGeoShape()

void ServiceVolume::setGeoShape ( const GeoShape *  geoShape,
double  volume = 0 
)

Definition at line 332 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

332  {
333  m_geoShape.reset();
334  if (geoShape) {
335  m_volume = volume;
336  // We allow a volume to specified as the volume calculation for some shapes (ie boolean volumes) are unreliable.
337  // If volume is not supplied, get it from the shape itself.
338  if (!m_volume) m_volume = geoShape->volume();
339  m_geoShape = geoShape;
340  m_lockGeoShape = true; // This disables resetGeoShape().
341  setShapeType("CUSTOM");
342  } else {
343  // If pass null pointer we unlock the shape.
344  m_lockGeoShape = false;
345  }
346  }

◆ setLabel() [1/2]

void InDetDD::ServiceVolume::setLabel ( const std::string &  name)
inline

◆ setLabel() [2/2]

void ServiceVolume::setLabel ( const std::string &  name,
int  volId 
)

Definition at line 171 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

171  {
172  m_label = std::format("{:s}{:02d}", name, volId);
173  }

◆ setMaterial() [1/2]

void InDetDD::ServiceVolume::setMaterial ( const GeoMaterial *  mat)
inline

◆ setMaterial() [2/2]

void InDetDD::ServiceVolume::setMaterial ( const std::string &  mat)
inline

◆ setNCopies()

void InDetDD::ServiceVolume::setNCopies ( int  num)
inline

◆ setNeedsRotation()

void InDetDD::ServiceVolume::setNeedsRotation ( bool  flag)
inline

◆ setOrigVolume()

void InDetDD::ServiceVolume::setOrigVolume ( double  volume)
inline

◆ setParentEnvelope()

void InDetDD::ServiceVolume::setParentEnvelope ( int  num)
inline

◆ setPhiLoc()

void InDetDD::ServiceVolume::setPhiLoc ( double  phiLoc)
inline

◆ setPhiWidth()

void InDetDD::ServiceVolume::setPhiWidth ( double  phiWidth)
inline

◆ setRegion()

void InDetDD::ServiceVolume::setRegion ( const std::string &  region)
inline

◆ setRmax()

void InDetDD::ServiceVolume::setRmax ( double  rmax)
inline

◆ setRmax2()

void InDetDD::ServiceVolume::setRmax2 ( double  rmax2)
inline

◆ setRmin()

void InDetDD::ServiceVolume::setRmin ( double  rmin)
inline

◆ setRmin2()

void InDetDD::ServiceVolume::setRmin2 ( double  rmin2)
inline

◆ setShapeType()

void InDetDD::ServiceVolume::setShapeType ( const std::string &  shapeType)
inline

◆ setSides()

void InDetDD::ServiceVolume::setSides ( int  sides)
inline

◆ setSplittable()

void ServiceVolume::setSplittable ( )
private

Definition at line 356 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

356  {
357  m_splittableR = m_splittableZ = true;
358  if (m_shapeType == "CUSTOM") {
359  m_splittableR = m_splittableZ = false;
360  } else if (!(m_shapeType.empty() || m_shapeType == "TUBE" || m_shapeType == "TUBS")) {
361  m_splittableR = false;
362  }
363  }

◆ setVolName()

void InDetDD::ServiceVolume::setVolName ( const std::string &  name)
inline

◆ setZmax()

void InDetDD::ServiceVolume::setZmax ( double  zmax)
inline

◆ setZmin()

void InDetDD::ServiceVolume::setZmin ( double  zmin)
inline

◆ setZShift()

void InDetDD::ServiceVolume::setZShift ( double  shift)
inline

Definition at line 60 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

60 { m_zShift=shift; }

◆ setZsymm()

void InDetDD::ServiceVolume::setZsymm ( bool  zsymm)
inline

◆ shapeType()

const std::string& InDetDD::ServiceVolume::shapeType ( ) const
inline

Definition at line 73 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

73 {return m_shapeType;}

◆ sides()

int InDetDD::ServiceVolume::sides ( ) const
inline

Definition at line 77 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

77 {return m_sides;}

◆ splittableInR()

bool InDetDD::ServiceVolume::splittableInR ( ) const
inline

Definition at line 89 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

89 {return m_splittableR;}

◆ splittableInZ()

bool InDetDD::ServiceVolume::splittableInZ ( ) const
inline

Definition at line 90 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

90 {return m_splittableZ;}

◆ volName()

const std::string& InDetDD::ServiceVolume::volName ( ) const
inline

Definition at line 72 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

72 {return m_volName;}

◆ volume()

double ServiceVolume::volume ( ) const

Definition at line 324 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

324  {
325  // Make sure shape is already built.
326  getShape();
327  std::lock_guard<std::mutex> lock(m_mutex);
328  return m_volume;
329  }

◆ zmax()

double InDetDD::ServiceVolume::zmax ( ) const
inline

Definition at line 67 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

67 {return m_zmax-m_safety;}

◆ zmin()

double InDetDD::ServiceVolume::zmin ( ) const
inline

Definition at line 66 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

66 {return m_zmin+m_safety;}

◆ zposition()

double InDetDD::ServiceVolume::zposition ( ) const
inline

Definition at line 83 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

83 {return 0.5 * (m_zmin + m_zmax);}

◆ zShift()

double InDetDD::ServiceVolume::zShift ( ) const
inline

Definition at line 93 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

93 {return m_zShift; }

◆ zsymm()

bool InDetDD::ServiceVolume::zsymm ( ) const
inline

Definition at line 69 of file InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h.

69 {return m_zsymm;}

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/2]

GeoShapeHolder m_geoShape InDetDD::ServiceVolume::ATLAS_THREAD_SAFE
mutableprivate

◆ ATLAS_THREAD_SAFE [2/2]

double m_volume InDetDD::ServiceVolume::ATLAS_THREAD_SAFE
mutableprivate

◆ m_envNum

int InDetDD::ServiceVolume::m_envNum
private

◆ m_envParentNum

int InDetDD::ServiceVolume::m_envParentNum
private

◆ m_label

std::string InDetDD::ServiceVolume::m_label
private

◆ m_lockGeoShape

bool InDetDD::ServiceVolume::m_lockGeoShape
private

◆ m_material

const GeoMaterial* InDetDD::ServiceVolume::m_material
private

◆ m_materialName

std::string InDetDD::ServiceVolume::m_materialName
private

◆ m_mutex

std::mutex InDetDD::ServiceVolume::m_mutex
mutableprivate

◆ m_nCopies

int InDetDD::ServiceVolume::m_nCopies
private

◆ m_needsRotation

bool InDetDD::ServiceVolume::m_needsRotation
private

◆ m_origVolume

double InDetDD::ServiceVolume::m_origVolume
private

◆ m_phiLoc

double InDetDD::ServiceVolume::m_phiLoc
private

◆ m_phiWidth

double InDetDD::ServiceVolume::m_phiWidth
private

◆ m_region

std::string InDetDD::ServiceVolume::m_region
private

◆ m_rmax

double InDetDD::ServiceVolume::m_rmax
private

◆ m_rmax2

double InDetDD::ServiceVolume::m_rmax2
private

◆ m_rmin

double InDetDD::ServiceVolume::m_rmin
private

◆ m_rmin2

double InDetDD::ServiceVolume::m_rmin2
private

◆ m_safety

double InDetDD::ServiceVolume::m_safety
private

◆ m_shapeType

std::string InDetDD::ServiceVolume::m_shapeType
private

◆ m_sides

int InDetDD::ServiceVolume::m_sides
private

◆ m_splittableR

bool InDetDD::ServiceVolume::m_splittableR
private

◆ m_splittableZ

bool InDetDD::ServiceVolume::m_splittableZ
private

◆ m_volName

std::string InDetDD::ServiceVolume::m_volName
private

◆ m_zmax

double InDetDD::ServiceVolume::m_zmax
private

◆ m_zmin

double InDetDD::ServiceVolume::m_zmin
private

◆ m_zShift

double InDetDD::ServiceVolume::m_zShift
private

◆ m_zsymm

bool InDetDD::ServiceVolume::m_zsymm
private

The documentation for this class was generated from the following files:
InDetDD::ServiceVolume::zmax
double zmax() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:67
InDetDD::ServiceVolume::m_zmin
double m_zmin
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:105
InDetDD::ServiceVolume::m_phiWidth
double m_phiWidth
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:115
InDetDD::ServiceVolume::m_zsymm
bool m_zsymm
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:108
InDetDD::ServiceVolume::m_materialName
std::string m_materialName
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:111
InDetDD::ServiceVolume::m_sides
int m_sides
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:117
vtune_athena.format
format
Definition: vtune_athena.py:14
InDetDD::ServiceVolume::m_zmax
double m_zmax
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:106
InDetDD::ServiceVolume::m_envNum
int m_envNum
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:129
InDetDD::ServiceVolume::rmax
double rmax() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:63
InDetDD::ServiceVolume::m_rmin2
double m_rmin2
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:103
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
InDetDD::ServiceVolume::m_nCopies
int m_nCopies
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:118
InDetDD::ServiceVolume::resetGeoShape
void resetGeoShape()
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:52
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
InDetDD::ServiceVolume::m_splittableR
bool m_splittableR
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:126
InDetDD::ServiceVolume::m_envParentNum
int m_envParentNum
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:130
InDetDD::ServiceVolume::m_mutex
std::mutex m_mutex
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:133
InDetDD::ServiceVolume::m_rmin
double m_rmin
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:101
M_PI
#define M_PI
Definition: ActiveFraction.h:11
InDetDD::ServiceVolume::getShape
const GeoShape * getShape() const
Definition: InDetGeoModelUtils/src/ServiceVolume.cxx:194
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
InDetDD::ServiceVolume::length
double length() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:82
InDetDD::ServiceVolume::rmax2
double rmax2() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:65
InDetDD::ServiceVolume::region
const std::string & region() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:80
InDetDD::ServiceVolume::m_zShift
double m_zShift
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:131
InDetDD::ServiceVolume::m_origVolume
double m_origVolume
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:120
InDetDD::ServiceVolume::zsymm
bool zsymm() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:69
InDetDD::ServiceVolume::volume
double volume() const
Definition: InDetGeoModelUtils/src/ServiceVolume.cxx:324
InDetDD::ServiceVolume::m_splittableZ
bool m_splittableZ
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:127
InDetDD::ServiceVolume::m_shapeType
std::string m_shapeType
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:113
master.flag
bool flag
Definition: master.py:29
InDetDD::ServiceVolume::m_safety
double m_safety
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:122
InDetDD::ServiceVolume::m_rmax2
double m_rmax2
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:104
WriteCalibToCool.swap
swap
Definition: WriteCalibToCool.py:94
InDetDD::ServiceVolume::fullLabel
std::string fullLabel() const
Definition: InDetGeoModelUtils/src/ServiceVolume.cxx:176
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
InDetDD::ServiceVolume::m_lockGeoShape
bool m_lockGeoShape
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:125
InDetDD::ServiceVolume::rmin2
double rmin2() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:64
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDetDD::ServiceVolume::m_material
const GeoMaterial * m_material
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:110
InDetDD::ServiceVolume::m_volName
std::string m_volName
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:112
InDetDD::ServiceVolume::rmin
double rmin() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:62
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
InDetDD::ServiceVolume::setSplittable
void setSplittable()
Definition: InDetGeoModelUtils/src/ServiceVolume.cxx:356
InDetDD::ServiceVolume::m_phiLoc
double m_phiLoc
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:114
InDetDD::ServiceVolume::m_needsRotation
bool m_needsRotation
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:116
InDetDD::ServiceVolume::setShapeType
void setShapeType(const std::string &shapeType)
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:40
InDetDD::ServiceVolume::m_rmax
double m_rmax
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:102
InDetDD::ServiceVolume::sides
int sides() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:77
InDetDD::ServiceVolume::m_label
std::string m_label
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:124
InDetDD::ServiceVolume::m_region
std::string m_region
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:123
InDetDD::ServiceVolume::phiLoc
double phiLoc() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:74
InDetDD::ServiceVolume::phiWidth
double phiWidth() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:75
InDetDD::ServiceVolume::shapeType
const std::string & shapeType() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:73
InDetDD::ServiceVolume::zmin
double zmin() const
Definition: InDetGeoModelUtils/InDetGeoModelUtils/ServiceVolume.h:66