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

#include <AGDDsTGC.h>

Inheritance diagram for AGDDsTGC:
Collaboration diagram for AGDDsTGC:

Public Member Functions

 AGDDsTGC (const std::string &s, AGDDDetectorStore &ds, AGDDVolumeStore &vs, AGDDSectionStore &ss)
virtual void CreateVolume (AGDDBuilder &builder) override
virtual void CreateSolid (const AGDDBuilder &builder) override
void Register ()
virtual void SetXYZ (const std::vector< double > &v) override
double sWidth () const
double lWidth () const
double Length () const
double Tck () const
void yCutout (double y)
double yCutout () const
void stripPitch (double y)
double stripPitch () const
void wirePitch (double y)
double wirePitch () const
void stripWidth (double y)
double stripWidth () const
void yCutoutCathode (double y)
double yCutoutCathode () const
void xFrame (double y)
double xFrame () const
void ysFrame (double y)
double ysFrame () const
void ylFrame (double y)
double ylFrame () const
sTGCReadoutParametersGetReadoutParameters ()
MuonGM::sTGC_TechnologyGetTechnology ()
void small_x (double x)
double small_x () const
void large_x (double x)
double large_x () const
void y (double yval)
double y () const
void z (double zval)
double z () const
void subType (const std::string &s)
const std::string & subType () const
const std::string & GetName () const
const std::string & DetectorType () const
const std::string & DetectorID () const
void SetAddressAndPosition (AGDDDetectorPositioner *)
std::vector< AGDDDetectorPositioner * > & GetDetectorPositioners ()
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

sTGCReadoutParameters roParameters
std::string tech

Protected Member Functions

virtual void SetDetectorAddress (AGDDDetectorPositioner *) override
GeoMaterial * GetMMMaterial (std::string)
void AddDetectorPosition (AGDDDetectorPositioner *p)

Protected Attributes

double m_yCutout {0.}
double m_stripPitch {0.}
double m_wirePitch {0.}
double m_stripWidth {0.}
double m_yCutoutCathode {0.}
double m_xFrame {0.}
double m_ysFrame {0.}
double m_ylFrame {0.}
AGDDDetectorStorem_ds
double m_small_x
double m_large_x
double m_y
double m_z
std::string m_detectorType
std::string m_detectorID
std::string m_sType
std::vector< AGDDDetectorPositioner * > m_detectorPositions
std::string m_name
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

Detailed Description

Definition at line 19 of file AGDDsTGC.h.

Constructor & Destructor Documentation

◆ AGDDsTGC()

AGDDsTGC::AGDDsTGC ( const std::string & s,
AGDDDetectorStore & ds,
AGDDVolumeStore & vs,
AGDDSectionStore & ss )

Definition at line 34 of file AGDDsTGC.cxx.

38 : sTGCDetectorDescription(s,ds),AGDDVolume(s,vs,ss,true)
39{
40 Register();
41}
static Double_t ss
AGDDVolume(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss, bool v=false)
sTGCDetectorDescription(const std::string &s, AGDDDetectorStore &ds)

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

◆ AddDetectorPosition()

void AGDDDetector::AddDetectorPosition ( AGDDDetectorPositioner * p)
protectedinherited

Definition at line 19 of file AGDDDetector.cxx.

20{
21 m_detectorPositions.push_back(p);
22}
std::vector< AGDDDetectorPositioner * > m_detectorPositions

◆ 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 AGDDsTGC::CreateSolid ( const AGDDBuilder & builder)
overridevirtual

Reimplemented from AGDDVolume.

Definition at line 43 of file AGDDsTGC.cxx.

44{
45
46}

◆ CreateVolume()

void AGDDsTGC::CreateVolume ( AGDDBuilder & builder)
overridevirtual

Reimplemented from AGDDVolume.

Definition at line 48 of file AGDDsTGC.cxx.

49{
50
51 MuonGM::sTGCComponent stgc_comp;
52 stgc_comp.name=tech;
53 stgc_comp.dx1=small_x();
54 stgc_comp.dx2=large_x();
55 stgc_comp.dy=y();
56 stgc_comp.subType=subType();
57 stgc_comp.yCutout=yCutout();
59
60 MuonGM::sTGC cham(&stgc_comp);
61 // We have IsSensitiveVolume true, so we want a GeoFulPhysVol here.
62 GeoFullPhysVol *vvv=cham.build(builder.GetMaterialManager(), 1);
63
64 CreateSolid (builder);
65
66 if (!GetVolume())
67 {
68 SetVolume(vvv);
69 }
70}
std::string tech
double small_x() const
double large_x() const
const std::string & subType() const
double y() const
void * GetVolume()
Definition AGDDVolume.h:32
void SetVolume(void *p)
Definition AGDDVolume.h:35
virtual void CreateSolid(const AGDDBuilder &builder) override
Definition AGDDsTGC.cxx:43
std::string name
Definition Component.h:18

◆ DetectorID()

const std::string & AGDDDetector::DetectorID ( ) const
inlineinherited

Definition at line 43 of file AGDDDetector.h.

43{return m_detectorID;}
std::string m_detectorID

◆ DetectorType()

const std::string & AGDDDetector::DetectorType ( ) const
inlineinherited

Definition at line 42 of file AGDDDetector.h.

42{return m_detectorType;}
std::string m_detectorType

◆ 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];}

◆ GetDetectorPositioners()

std::vector< AGDDDetectorPositioner * > & AGDDDetector::GetDetectorPositioners ( )
inherited

Definition at line 14 of file AGDDDetector.cxx.

15{
17}

◆ 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

◆ GetMMMaterial()

GeoMaterial * AGDDDetector::GetMMMaterial ( std::string )
protectedinherited

◆ GetName() [1/2]

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

Definition at line 40 of file AGDDDetector.h.

40{return m_name;}
std::string m_name

◆ GetName() [2/2]

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

◆ GetReadoutParameters()

sTGCReadoutParameters & sTGCDetectorDescription::GetReadoutParameters ( )
inlineinherited

Definition at line 101 of file sTGCDetectorDescription.h.

101{return roParameters;}
sTGCReadoutParameters roParameters

◆ GetSolid()

void * AGDDVolume::GetSolid ( )
inlineinherited

Definition at line 33 of file AGDDVolume.h.

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

◆ GetTechnology()

MuonGM::sTGC_Technology * sTGCDetectorDescription::GetTechnology ( )
inherited

Definition at line 49 of file sTGCDetectorDescription.cxx.

50{
51 MuonGM::sTGC_Technology* t =
52 dynamic_cast<MuonGM::sTGC_Technology*>(m_ds.GetTechnology("sTGC_1")); //This needs to be the tech name not the chamber name
53
54 return t;
55}

◆ 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 AGDDDetector::large_x ( ) const
inlineinherited

Definition at line 34 of file AGDDDetector.h.

34{return m_large_x;}
double m_large_x

◆ large_x() [2/2]

void AGDDDetector::large_x ( double x)
inlineinherited

Definition at line 29 of file AGDDDetector.h.

29{m_large_x=x;}
#define x

◆ Length()

double sTGCDetectorDescription::Length ( ) const
inlineinherited

Definition at line 72 of file sTGCDetectorDescription.h.

72{return y();}

◆ lWidth()

double sTGCDetectorDescription::lWidth ( ) const
inlineinherited

Definition at line 71 of file sTGCDetectorDescription.h.

71{return large_x();}

◆ NrOfDaughter()

int AGDDVolume::NrOfDaughter ( ) const
inlineinherited

Definition at line 29 of file AGDDVolume.h.

29{return m_theDaughters.size();}

◆ Register()

void sTGCDetectorDescription::Register ( )
inherited

Definition at line 22 of file sTGCDetectorDescription.cxx.

23{
24 m_ds.RegisterDetector(this);
25}

◆ SetAddressAndPosition()

void AGDDDetector::SetAddressAndPosition ( AGDDDetectorPositioner * p)
inherited

Definition at line 8 of file AGDDDetector.cxx.

9{
12}
virtual void SetDetectorAddress(AGDDDetectorPositioner *)=0
void AddDetectorPosition(AGDDDetectorPositioner *p)

◆ SetColor()

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

Definition at line 36 of file AGDDVolume.h.

◆ SetDetectorAddress()

void sTGCDetectorDescription::SetDetectorAddress ( AGDDDetectorPositioner * p)
overrideprotectedvirtualinherited

Implements AGDDDetector.

Definition at line 28 of file sTGCDetectorDescription.cxx.

29{
30 //std::cout<<"This is AGDDsTGC::SetDetectorAddress "<<GetName()<<" "<<
31 // m_sType;
32 p->ID.detectorType="sTGC";
33 p->theDetector=this;
34 std::stringstream stringone;
35 char side='A';
36 if (p->ID.sideIndex<0) side='C';
37 int ctype=0;
38 int ml=1;
39 std::string_view subt = subType();
40 if (subt[1]=='S' && subt[3]=='P') ml=2;
41 else if (subt[1]=='L' && subt[3]=='C') ml=2;
42 if (subt[1]=='S') ctype=3;
43 else if (subt[1]=='L') ctype=1;
44 stringone<<"sTG"<<ctype<<'-'<<subt.substr(2,1)<<'-'<<ml<<"-phi"<<p->ID.phiIndex+1<<side<<std::endl;
45 //std::cout<<" stringone "<<stringone.str()<<std::endl;
46 p->ID.detectorAddress=stringone.str();
47}

◆ SetMaterial()

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

Definition at line 24 of file AGDDVolume.h.

◆ SetSolid()

void AGDDVolume::SetSolid ( void * p)
inlineinherited

Definition at line 34 of file AGDDVolume.h.

◆ SetVolume()

void AGDDVolume::SetVolume ( void * p)
inlineinherited

Definition at line 35 of file AGDDVolume.h.

◆ SetXYZ()

virtual void sTGCDetectorDescription::SetXYZ ( const std::vector< double > & v)
inlineoverridevirtualinherited

Reimplemented from AGDDDetector.

Definition at line 57 of file sTGCDetectorDescription.h.

◆ small_x() [1/2]

double AGDDDetector::small_x ( ) const
inlineinherited

Definition at line 33 of file AGDDDetector.h.

33{return m_small_x;}
double m_small_x

◆ small_x() [2/2]

void AGDDDetector::small_x ( double x)
inlineinherited

Definition at line 28 of file AGDDDetector.h.

28{m_small_x=x;}

◆ stripPitch() [1/2]

double sTGCDetectorDescription::stripPitch ( ) const
inlineinherited

Definition at line 79 of file sTGCDetectorDescription.h.

79{return m_stripPitch;}

◆ stripPitch() [2/2]

void sTGCDetectorDescription::stripPitch ( double y)
inlineinherited

Definition at line 78 of file sTGCDetectorDescription.h.

void y(double yval)

◆ stripWidth() [1/2]

double sTGCDetectorDescription::stripWidth ( ) const
inlineinherited

Definition at line 85 of file sTGCDetectorDescription.h.

85{return m_stripWidth;}

◆ stripWidth() [2/2]

void sTGCDetectorDescription::stripWidth ( double y)
inlineinherited

Definition at line 84 of file sTGCDetectorDescription.h.

◆ subType() [1/2]

const std::string & AGDDDetector::subType ( ) const
inlineinherited

Definition at line 37 of file AGDDDetector.h.

37{return m_sType;}
std::string m_sType

◆ subType() [2/2]

void AGDDDetector::subType ( const std::string & s)
inlineinherited

Definition at line 32 of file AGDDDetector.h.

◆ sWidth()

double sTGCDetectorDescription::sWidth ( ) const
inlineinherited

Definition at line 70 of file sTGCDetectorDescription.h.

70{return small_x();}

◆ Tck()

double sTGCDetectorDescription::Tck ( ) const
inlineinherited

Definition at line 73 of file sTGCDetectorDescription.h.

73{return z();}

◆ wirePitch() [1/2]

double sTGCDetectorDescription::wirePitch ( ) const
inlineinherited

Definition at line 82 of file sTGCDetectorDescription.h.

82{return m_wirePitch;}

◆ wirePitch() [2/2]

void sTGCDetectorDescription::wirePitch ( double y)
inlineinherited

Definition at line 81 of file sTGCDetectorDescription.h.

◆ xFrame() [1/2]

double sTGCDetectorDescription::xFrame ( ) const
inlineinherited

Definition at line 91 of file sTGCDetectorDescription.h.

◆ xFrame() [2/2]

void sTGCDetectorDescription::xFrame ( double y)
inlineinherited

Definition at line 90 of file sTGCDetectorDescription.h.

90{m_xFrame=y;}

◆ y() [1/2]

double AGDDDetector::y ( ) const
inlineinherited

Definition at line 35 of file AGDDDetector.h.

35{return m_y;}

◆ y() [2/2]

void AGDDDetector::y ( double yval)
inlineinherited

◆ yCutout() [1/2]

double sTGCDetectorDescription::yCutout ( ) const
inlineinherited

Definition at line 76 of file sTGCDetectorDescription.h.

76{return m_yCutout;}

◆ yCutout() [2/2]

void sTGCDetectorDescription::yCutout ( double y)
inlineinherited

Definition at line 75 of file sTGCDetectorDescription.h.

75{m_yCutout=y;}

◆ yCutoutCathode() [1/2]

double sTGCDetectorDescription::yCutoutCathode ( ) const
inlineinherited

Definition at line 88 of file sTGCDetectorDescription.h.

88{return m_yCutoutCathode;}

◆ yCutoutCathode() [2/2]

void sTGCDetectorDescription::yCutoutCathode ( double y)
inlineinherited

Definition at line 87 of file sTGCDetectorDescription.h.

◆ ylFrame() [1/2]

double sTGCDetectorDescription::ylFrame ( ) const
inlineinherited

Definition at line 97 of file sTGCDetectorDescription.h.

◆ ylFrame() [2/2]

void sTGCDetectorDescription::ylFrame ( double y)
inlineinherited

Definition at line 96 of file sTGCDetectorDescription.h.

96{m_ylFrame=y;}

◆ ysFrame() [1/2]

double sTGCDetectorDescription::ysFrame ( ) const
inlineinherited

Definition at line 94 of file sTGCDetectorDescription.h.

◆ ysFrame() [2/2]

void sTGCDetectorDescription::ysFrame ( double y)
inlineinherited

Definition at line 93 of file sTGCDetectorDescription.h.

93{m_ysFrame=y;}

◆ z() [1/2]

double AGDDDetector::z ( ) const
inlineinherited

Definition at line 36 of file AGDDDetector.h.

36{return m_z;}

◆ z() [2/2]

void AGDDDetector::z ( double zval)
inlineinherited

Definition at line 31 of file AGDDDetector.h.

31{m_z=zval;}

Member Data Documentation

◆ m_color

std::string AGDDVolume::m_color
protectedinherited

Definition at line 48 of file AGDDVolume.h.

◆ m_detectorID

std::string AGDDDetector::m_detectorID
protectedinherited

Definition at line 57 of file AGDDDetector.h.

◆ m_detectorPositions

std::vector<AGDDDetectorPositioner*> AGDDDetector::m_detectorPositions
protectedinherited

Definition at line 66 of file AGDDDetector.h.

◆ m_detectorType

std::string AGDDDetector::m_detectorType
protectedinherited

Definition at line 56 of file AGDDDetector.h.

◆ m_ds

AGDDDetectorStore& sTGCDetectorDescription::m_ds
protectedinherited

Definition at line 117 of file sTGCDetectorDescription.h.

◆ m_isSensitive

bool AGDDVolume::m_isSensitive
protectedinherited

Definition at line 53 of file AGDDVolume.h.

◆ m_large_x

double AGDDDetector::m_large_x
protectedinherited

Definition at line 51 of file AGDDDetector.h.

◆ m_material

std::string AGDDVolume::m_material
protectedinherited

Definition at line 44 of file AGDDVolume.h.

◆ m_name [1/2]

std::string AGDDDetector::m_name
protectedinherited

Definition at line 68 of file AGDDDetector.h.

◆ m_name [2/2]

std::string AGDDVolume::m_name
protectedinherited

Definition at line 43 of file AGDDVolume.h.

◆ m_small_x

double AGDDDetector::m_small_x
protectedinherited

Definition at line 50 of file AGDDDetector.h.

◆ m_stripPitch

double sTGCDetectorDescription::m_stripPitch {0.}
protectedinherited

Definition at line 108 of file sTGCDetectorDescription.h.

108{0.};

◆ m_stripWidth

double sTGCDetectorDescription::m_stripWidth {0.}
protectedinherited

Definition at line 110 of file sTGCDetectorDescription.h.

110{0.};

◆ m_sType

std::string AGDDDetector::m_sType
protectedinherited

Definition at line 59 of file AGDDDetector.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_wirePitch

double sTGCDetectorDescription::m_wirePitch {0.}
protectedinherited

Definition at line 109 of file sTGCDetectorDescription.h.

109{0.};

◆ m_xFrame

double sTGCDetectorDescription::m_xFrame {0.}
protectedinherited

Definition at line 113 of file sTGCDetectorDescription.h.

113{0.};

◆ m_y

double AGDDDetector::m_y
protectedinherited

Definition at line 52 of file AGDDDetector.h.

◆ m_yCutout

double sTGCDetectorDescription::m_yCutout {0.}
protectedinherited

Definition at line 107 of file sTGCDetectorDescription.h.

107{0.};

◆ m_yCutoutCathode

double sTGCDetectorDescription::m_yCutoutCathode {0.}
protectedinherited

Definition at line 111 of file sTGCDetectorDescription.h.

111{0.};

◆ m_ylFrame

double sTGCDetectorDescription::m_ylFrame {0.}
protectedinherited

Definition at line 115 of file sTGCDetectorDescription.h.

115{0.};

◆ m_ysFrame

double sTGCDetectorDescription::m_ysFrame {0.}
protectedinherited

Definition at line 114 of file sTGCDetectorDescription.h.

114{0.};

◆ m_z

double AGDDDetector::m_z
protectedinherited

Definition at line 53 of file AGDDDetector.h.

◆ roParameters

sTGCReadoutParameters sTGCDetectorDescription::roParameters
inherited

Definition at line 99 of file sTGCDetectorDescription.h.

◆ tech

std::string AGDDDetector::tech
inherited

Definition at line 38 of file AGDDDetector.h.


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