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 97 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

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

◆ ServiceVolume() [2/2]

ServiceVolume::ServiceVolume ( const ServiceVolume rhs)

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

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

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 180 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

180  {
181  if (m_volName.empty()) return m_label;
182 
183  return m_label + "_" + m_volName;
184  }

◆ getShape()

const GeoShape * ServiceVolume::getShape ( ) const

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

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

◆ 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 353 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

353  {
354  if (m_origVolume) return m_origVolume;
355 
356  return volume();
357  }

◆ 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 187 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

187  {
188  std::cout << m_rmin << " "
189  << m_rmax << " "
190  << m_zmin << " "
191  << m_zmax << " "
192  << m_region << " "
193  << fullLabel()
194  << std::endl;
195  }

◆ reduceSize()

void ServiceVolume::reduceSize ( double  safety)

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

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

◆ 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 336 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

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

◆ 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 172 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

172  {
173  std::ostringstream o;
174  o.fill('0');
175  o << name << std::setw(2) << volId;
176  m_label = o.str();
177  }

◆ 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 360 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

360  {
361  m_splittableR = m_splittableZ = true;
362  if (m_shapeType == "CUSTOM") {
363  m_splittableR = m_splittableZ = false;
364  } else if (!(m_shapeType.empty() || m_shapeType == "TUBE" || m_shapeType == "TUBS")) {
365  m_splittableR = false;
366  }
367  }

◆ 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 328 of file InDetGeoModelUtils/src/ServiceVolume.cxx.

328  {
329  // Make sure shape is already built.
330  getShape();
331  std::lock_guard<std::mutex> lock(m_mutex);
332  return m_volume;
333  }

◆ 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
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:53
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:198
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:328
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:180
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:195
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:360
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