ATLAS Offline Software
Loading...
Searching...
No Matches
AGDDMicromegas.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
10
11#include "GeoModelKernel/GeoTrd.h"
12#include "GeoModelKernel/GeoShape.h"
13#include "GeoModelKernel/GeoLogVol.h"
14#include "GeoModelKernel/GeoPhysVol.h"
15#include "GeoModelKernel/GeoFullPhysVol.h"
16#include "GeoModelKernel/GeoMaterial.h"
17
19#include "GaudiKernel/ISvcLocator.h"
20#include "GaudiKernel/Bootstrap.h"
22
25#include "MuonGeoModel/MYSQL.h"
26
27
28using MuonGM::MYSQL;
29
30AGDDMicromegas::AGDDMicromegas(const std::string& s,
34 : MMDetectorDescription(s,ds),AGDDVolume(s,vs,ss,true)
35{
36 Register();
37}
38
40{
41// std::cout<<"this is AGDDMicromegas::CreateSolid()"<<std::endl;
42// void *p=GetSolid();
43// if (!p)
44// {
45// std::cout<<" creating solid with dimensions "<<
46// m_small_x<<" "<<m_large_x<<" "<<m_y<<" "<<m_z<<std::endl;
47// GeoShape* solid=new GeoTrd(m_small_x/2.,m_large_x/2.,m_y/2.,m_y/2.,m_z/2.);
48// SetSolid(solid);
49// }
50
51}
52
54{
55// std::cout<<"this is AGDDMicromegas::CreateVolume()"<<std::endl;
56
58 mm_comp.name=tech;
59 mm_comp.dx1=small_x();
60 mm_comp.dx2=large_x();
61 mm_comp.dy=y();
62 mm_comp.subType=subType();
63
64 MuonGM::Micromegas cham (&mm_comp);
65 // We have IsSensitiveVolume true, so we want a GeoFulPhysVol here.
66 GeoFullPhysVol *vvv=cham.build(builder.GetMaterialManager(), 1);
67
68 CreateSolid (builder);
69
70 if (!GetVolume())
71 {
72 SetVolume(vvv);
73 }
74}
75
static Double_t ss
std::string tech
double small_x() const
double large_x() const
const std::string & subType() const
double y() const
virtual void CreateSolid(const AGDDBuilder &builder) override
virtual void CreateVolume(AGDDBuilder &builder) override
AGDDMicromegas(const std::string &s, AGDDDetectorStore &ds, AGDDVolumeStore &vs, AGDDSectionStore &ss)
AGDDVolume(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss, bool v=false)
void * GetVolume()
Definition AGDDVolume.h:32
void SetVolume(void *p)
Definition AGDDVolume.h:35
MMDetectorDescription(const std::string &s, AGDDDetectorStore &ds)
std::string name
Definition Component.h:18
GeoFullPhysVol * build(StoredMaterialManager &matManager, int minimalgeo)