ATLAS Offline Software
mm_TechHandler.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #include <iostream>
10 
11 
12 
13 mm_TechHandler::mm_TechHandler(const std::string& s,
15  : XMLHandler(s, c)
16 {
17 }
18 
20  xercesc::DOMNode *t)
21 {
22 
23 // std::cout<<" this is mm_TechHandler::Handle"<<std::endl;
24 
25  bool ret=true;
26  std::string name=getAttributeAsString(c, t, "type",ret);
27 
28  MuonGM::MM_Technology *tech=new MuonGM::MM_Technology(name, c.GetDetectorStore());
29 
30  tech->nlayers=getAttributeAsInt(c, t, "nLayers",ret);
31  tech->thickness=getAttributeAsDouble(c, t, "Tck",ret);
32  tech->gasThickness=getAttributeAsDouble(c, t, "gasTck",ret);
33  tech->pcbThickness=getAttributeAsDouble(c, t, "driftPcbTck",ret);
34  tech->roThickness=getAttributeAsDouble(c, t, "ROPcbTck",ret);
35 
36  tech->f1Thickness=getAttributeAsDouble(c, t, "f1",ret);
37  tech->f2Thickness=getAttributeAsDouble(c, t, "f2",ret);
38  tech->f3Thickness=getAttributeAsDouble(c, t, "f3",ret);
39 
40 
41 
42  tech->geoLevel=getAttributeAsInt(c, t, "geometryLevel",ret);
43 
44  AGDDParameterStore& prs = c.GetParameterStore();
45  if(prs.Exist(name)) {
46  std::cout << " parameters for technology " << name << " already registered" << std::endl;
47  }
48  else {
50  paraBag->thickness = tech->gasThickness=getAttributeAsDouble(c, t, "gasTck",ret);
51  paraBag->pitchSS = 0.425; //small sector
52  paraBag->pitchLS = 0.445; //large sector
53  prs.RegisterParameterBag(name, paraBag);
54  }
55 }
AGDDController.h
AGDDParameterBagMMTech::pitchSS
double pitchSS
Definition: AGDDParameterBag.h:17
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
mm_TechHandler::mm_TechHandler
mm_TechHandler(const std::string &, AGDDController &c)
Definition: mm_TechHandler.cxx:13
MuonGM::MM_Technology
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:16
MuonGM::MM_Technology::thickness
double thickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:18
mm_TechHandler.h
AGDDParameterBagMMTech
Definition: AGDDParameterBag.h:14
AGDDParameterStore::RegisterParameterBag
void RegisterParameterBag(const std::string &volName, AGDDParameterBag *paraBag)
Definition: AGDDParameterStore.h:20
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
XMLHandler::getAttributeAsDouble
double getAttributeAsDouble(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:78
AGDDParameterStore.h
MuonGM::MM_Technology::roThickness
double roThickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:22
AGDDController
Definition: AGDDController.h:30
MuonGM::MM_Technology::f3Thickness
double f3Thickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:25
MuonGM::MM_Technology::nlayers
int nlayers
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:19
MuonGM::MM_Technology::geoLevel
int geoLevel
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:27
XMLHandler::getAttributeAsString
std::string getAttributeAsString(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:69
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MuonGM::MM_Technology::pcbThickness
double pcbThickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:21
AGDDParameterBagMMTech::thickness
double thickness
Definition: AGDDParameterBag.h:16
XMLHandler
Definition: XMLHandler.h:15
MuonGM::MM_Technology::f2Thickness
double f2Thickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:24
AGDDParameterBagMMTech::pitchLS
double pitchLS
Definition: AGDDParameterBag.h:18
MuonGM::MM_Technology::f1Thickness
double f1Thickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:23
XMLHandler::getAttributeAsInt
int getAttributeAsInt(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:89
MM_Technology.h
MuonGM::MM_Technology::gasThickness
double gasThickness
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:20
AGDDParameterStore
Definition: AGDDParameterStore.h:14
python.compressB64.c
def c
Definition: compressB64.py:93
mm_TechHandler::ElementHandle
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t) override
Definition: mm_TechHandler.cxx:19
AGDDParameterStore::Exist
bool Exist(const std::string &volName) const
Definition: AGDDParameterStore.h:33