ATLAS Offline Software
Loading...
Searching...
No Matches
AGDDMMSpacer Class Reference

#include <AGDDMMSpacer.h>

Inheritance diagram for AGDDMMSpacer:
Collaboration diagram for AGDDMMSpacer:

Public Member Functions

 AGDDMMSpacer (const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss)
void SetXYZ (const std::vector< double > &v)
void small_x (double x)
void large_x (double x)
void y (double yval)
void z (double zval)
double small_x () const
double large_x () const
double y () const
double z () const
virtual void CreateVolume (AGDDBuilder &builder) override
virtual void CreateSolid (const AGDDBuilder &builder) override
const std::string & GetName () const
void SetMaterial (const std::string &n)
void AddDaughter (AGDDPositioner *v)
AGDDPositionerGetDaughter (int i)
int NrOfDaughter () const
bool HasParent () const
void AddParent (AGDDVolume *v)
void * GetVolume ()
void * GetSolid ()
void SetSolid (void *p)
void SetVolume (void *p)
void SetColor (const std::string &c)
void IsSensitiveVolume (bool v)
bool IsSensitiveVolume () const
const std::string & GetColor () const
const std::string & GetMaterial () const

Public Attributes

std::string tech

Protected Attributes

std::string m_name
std::string m_material
std::vector< AGDDPositioner * > m_theDaughters
std::vector< AGDDVolume * > m_theParents
std::string m_color
void * m_theSolid
void * m_theVolume
bool m_isSensitive
AGDDVolumeStorem_vs

Private Attributes

double m_small_x
double m_large_x
double m_y
double m_z

Detailed Description

Definition at line 19 of file AGDDMMSpacer.h.

Constructor & Destructor Documentation

◆ AGDDMMSpacer()

AGDDMMSpacer::AGDDMMSpacer ( const std::string & s,
AGDDVolumeStore & vs,
AGDDSectionStore & ss )
inline

Definition at line 21 of file AGDDMMSpacer.h.

24 : AGDDVolume(s,vs,ss),m_small_x(0),m_large_x(0),m_y(0),m_z(0) {}
static Double_t ss
double m_small_x
double m_large_x
AGDDVolume(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss, bool v=false)

Member Function Documentation

◆ AddDaughter()

void AGDDVolume::AddDaughter ( AGDDPositioner * v)
inherited

Definition at line 21 of file AGDDVolume.cxx.

22{
23 m_theDaughters.push_back(v);
24 m_vs.GetVolume(v->Volume())->AddParent(this);
25}
std::vector< AGDDPositioner * > m_theDaughters
Definition AGDDVolume.h:45
AGDDVolumeStore & m_vs
Definition AGDDVolume.h:55

◆ AddParent()

void AGDDVolume::AddParent ( AGDDVolume * v)
inlineinherited

Definition at line 31 of file AGDDVolume.h.

31{m_theParents.push_back(v);}
std::vector< AGDDVolume * > m_theParents
Definition AGDDVolume.h:46

◆ CreateSolid()

void AGDDMMSpacer::CreateSolid ( const AGDDBuilder & builder)
overridevirtual

Reimplemented from AGDDVolume.

Definition at line 25 of file AGDDMMSpacer.cxx.

26{
27// std::cout<<"this is AGDDMMSpacer::CreateSolid()"<<std::endl;
28}

◆ CreateVolume()

void AGDDMMSpacer::CreateVolume ( AGDDBuilder & builder)
overridevirtual

Reimplemented from AGDDVolume.

Definition at line 30 of file AGDDMMSpacer.cxx.

31{
32// std::cout<<"this is AGDDMMSpacer::CreateVolume()"<<std::endl;
33
34 MuonGM::MMSpacerComponent *mm_comp=new MuonGM::MMSpacerComponent;
35 mm_comp->name=tech;
36 mm_comp->dx1=m_small_x;
37 mm_comp->dx2=m_large_x;
38 mm_comp->dy=m_y;
39
41 MuonGM::MMSpacer cham(*mysql, mm_comp);
42 GeoPhysVol *vvv=cham.build(builder.GetMaterialManager(), *mysql, 1);
43
44 CreateSolid (builder);
45
46 if (!GetVolume())
47 {
48// std::cout<<"setting volume "<<vvv<<std::endl;
49 SetVolume(vvv);
50// std::cout<<"done creating volume "<<std::endl;
51 }
52}
std::string tech
virtual void CreateSolid(const AGDDBuilder &builder) override
void * GetVolume()
Definition AGDDVolume.h:32
void SetVolume(void *p)
Definition AGDDVolume.h:35
std::string name
Definition Component.h:18
static LockedMYSQL GetPointer()
Definition MYSQL.cxx:42
CxxUtils::LockedPointer< MYSQL > LockedMYSQL
Definition MYSQL.h:47

◆ GetColor()

const std::string & AGDDVolume::GetColor ( ) const
inlineinherited

Definition at line 39 of file AGDDVolume.h.

39{return m_color;}
std::string m_color
Definition AGDDVolume.h:48

◆ GetDaughter()

AGDDPositioner * AGDDVolume::GetDaughter ( int i)
inlineinherited

Definition at line 28 of file AGDDVolume.h.

28{return m_theDaughters[i];}

◆ GetMaterial()

const std::string & AGDDVolume::GetMaterial ( ) const
inlineinherited

Definition at line 40 of file AGDDVolume.h.

40{return m_material;}
std::string m_material
Definition AGDDVolume.h:44

◆ GetName()

const std::string & AGDDVolume::GetName ( ) const
inlineinherited

Definition at line 23 of file AGDDVolume.h.

23{return m_name;}
std::string m_name
Definition AGDDVolume.h:43

◆ GetSolid()

void * AGDDVolume::GetSolid ( )
inlineinherited

Definition at line 33 of file AGDDVolume.h.

33{return m_theSolid;}
void * m_theSolid
Definition AGDDVolume.h:50

◆ GetVolume()

void * AGDDVolume::GetVolume ( )
inlineinherited

Definition at line 32 of file AGDDVolume.h.

32{return m_theVolume;}
void * m_theVolume
Definition AGDDVolume.h:51

◆ HasParent()

bool AGDDVolume::HasParent ( ) const
inlineinherited

Definition at line 30 of file AGDDVolume.h.

30{return (m_theParents.size());}

◆ IsSensitiveVolume() [1/2]

bool AGDDVolume::IsSensitiveVolume ( ) const
inlineinherited

Definition at line 38 of file AGDDVolume.h.

38{return m_isSensitive;}
bool m_isSensitive
Definition AGDDVolume.h:53

◆ IsSensitiveVolume() [2/2]

void AGDDVolume::IsSensitiveVolume ( bool v)
inherited

Definition at line 27 of file AGDDVolume.cxx.

28{
30}

◆ large_x() [1/2]

double AGDDMMSpacer::large_x ( ) const
inline

Definition at line 37 of file AGDDMMSpacer.h.

37{return m_large_x;}

◆ large_x() [2/2]

void AGDDMMSpacer::large_x ( double x)
inline

Definition at line 33 of file AGDDMMSpacer.h.

33{m_large_x=x;}
#define x

◆ NrOfDaughter()

int AGDDVolume::NrOfDaughter ( ) const
inlineinherited

Definition at line 29 of file AGDDVolume.h.

29{return m_theDaughters.size();}

◆ SetColor()

void AGDDVolume::SetColor ( const std::string & c)
inlineinherited

Definition at line 36 of file AGDDVolume.h.

◆ SetMaterial()

void AGDDVolume::SetMaterial ( const std::string & n)
inlineinherited

Definition at line 24 of file AGDDVolume.h.

◆ SetSolid()

void AGDDVolume::SetSolid ( void * p)
inlineinherited

◆ SetVolume()

void AGDDVolume::SetVolume ( void * p)
inlineinherited

Definition at line 35 of file AGDDVolume.h.

◆ SetXYZ()

void AGDDMMSpacer::SetXYZ ( const std::vector< double > & v)
inline

Definition at line 25 of file AGDDMMSpacer.h.

26 {
27 m_small_x=v[0];
28 m_large_x=v[1];
29 m_y=v[2];
30 m_z=v[3];
31 }

◆ small_x() [1/2]

double AGDDMMSpacer::small_x ( ) const
inline

Definition at line 36 of file AGDDMMSpacer.h.

36{return m_small_x;}

◆ small_x() [2/2]

void AGDDMMSpacer::small_x ( double x)
inline

Definition at line 32 of file AGDDMMSpacer.h.

32{m_small_x=x;}

◆ y() [1/2]

double AGDDMMSpacer::y ( ) const
inline

Definition at line 38 of file AGDDMMSpacer.h.

38{return m_y;}

◆ y() [2/2]

void AGDDMMSpacer::y ( double yval)
inline

◆ z() [1/2]

double AGDDMMSpacer::z ( ) const
inline

Definition at line 39 of file AGDDMMSpacer.h.

39{return m_z;}

◆ z() [2/2]

void AGDDMMSpacer::z ( double zval)
inline

Definition at line 35 of file AGDDMMSpacer.h.

35{m_z=zval;}

Member Data Documentation

◆ m_color

std::string AGDDVolume::m_color
protectedinherited

Definition at line 48 of file AGDDVolume.h.

◆ m_isSensitive

bool AGDDVolume::m_isSensitive
protectedinherited

Definition at line 53 of file AGDDVolume.h.

◆ m_large_x

double AGDDMMSpacer::m_large_x
private

Definition at line 45 of file AGDDMMSpacer.h.

◆ m_material

std::string AGDDVolume::m_material
protectedinherited

Definition at line 44 of file AGDDVolume.h.

◆ m_name

std::string AGDDVolume::m_name
protectedinherited

Definition at line 43 of file AGDDVolume.h.

◆ m_small_x

double AGDDMMSpacer::m_small_x
private

Definition at line 44 of file AGDDMMSpacer.h.

◆ m_theDaughters

std::vector<AGDDPositioner*> AGDDVolume::m_theDaughters
protectedinherited

Definition at line 45 of file AGDDVolume.h.

◆ m_theParents

std::vector<AGDDVolume*> AGDDVolume::m_theParents
protectedinherited

Definition at line 46 of file AGDDVolume.h.

◆ m_theSolid

void* AGDDVolume::m_theSolid
protectedinherited

Definition at line 50 of file AGDDVolume.h.

◆ m_theVolume

void* AGDDVolume::m_theVolume
protectedinherited

Definition at line 51 of file AGDDVolume.h.

◆ m_vs

AGDDVolumeStore& AGDDVolume::m_vs
protectedinherited

Definition at line 55 of file AGDDVolume.h.

◆ m_y

double AGDDMMSpacer::m_y
private

Definition at line 46 of file AGDDMMSpacer.h.

◆ m_z

double AGDDMMSpacer::m_z
private

Definition at line 47 of file AGDDMMSpacer.h.

◆ tech

std::string AGDDMMSpacer::tech

Definition at line 40 of file AGDDMMSpacer.h.


The documentation for this class was generated from the following files: