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

#include <ZDC_DetFactory.h>

Inheritance diagram for ZDC_DetFactory:
Collaboration diagram for ZDC_DetFactory:

Public Member Functions

 ZDC_DetFactory (StoreGateSvc *)
 ~ZDC_DetFactory ()
virtual void create (GeoPhysVol *world) override
virtual const ZDC_DetManagergetDetectorManager () const override
void buildMaterials (StoredMaterialManager *materialManager)
void addModule (std::unique_ptr< ZDC_ModuleBase > module)
void setTANSlot (uint iside, double width, double height, double depth, const GeoTrf::Transform3D trf, const std::string &name)
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.

Private Member Functions

void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

ZDC_DetManagerm_detectorManager {}
StoreGateSvcm_detectorStore {}
const ZdcIDm_zdcID {}
std::vector< std::unique_ptr< ZDC_ModuleBase > > m_modules
std::array< GeoTrf::Transform3D, 2 > m_tanSlotTransform
std::array< double, 2 > m_tanW
std::array< double, 2 > m_tanH
std::array< double, 2 > m_tanD
std::array< std::string, 2 > m_tanSlotName
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels).
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging).

Detailed Description

Definition at line 24 of file ZDC_DetFactory.h.

Constructor & Destructor Documentation

◆ ZDC_DetFactory()

ZDC_DetFactory::ZDC_DetFactory ( StoreGateSvc * detStore)

Definition at line 42 of file ZDC_DetFactory.cxx.

42 :
43 AthMessaging("ZDC_DetFactory"),
45 m_detectorStore(detStore),
46 m_tanSlotTransform{ GeoTrf::Transform3D(), GeoTrf::Transform3D()},
47 m_tanW{0.0, 0.0},
48 m_tanH{0.0, 0.0},
49 m_tanD{0.0, 0.0}
50{
51 if (m_detectorStore->retrieve( m_zdcID ).isFailure() ) {
52 MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::ZDC_DetFactory");
53 LogStream << MSG::ERROR << "execute: Could not retrieve ZdcID object from the detector store" << endmsg;
54 }
55}
#define endmsg
AthMessaging()
Default constructor:
const ZdcID * m_zdcID
std::array< GeoTrf::Transform3D, 2 > m_tanSlotTransform
std::array< double, 2 > m_tanD
std::array< double, 2 > m_tanH
std::array< double, 2 > m_tanW
StoreGateSvc * m_detectorStore
ZDC_DetManager * m_detectorManager
IMessageSvc * getMessageSvc(bool quiet=false)

◆ ~ZDC_DetFactory()

ZDC_DetFactory::~ZDC_DetFactory ( )

Definition at line 57 of file ZDC_DetFactory.cxx.

57{}

Member Function Documentation

◆ addModule()

void ZDC_DetFactory::addModule ( std::unique_ptr< ZDC_ModuleBase > module)
inline

Definition at line 37 of file ZDC_DetFactory.h.

37{ m_modules.push_back(std::move(module) ); }
std::vector< std::unique_ptr< ZDC_ModuleBase > > m_modules

◆ buildMaterials()

void ZDC_DetFactory::buildMaterials ( StoredMaterialManager * materialManager)

Definition at line 120 of file ZDC_DetFactory.cxx.

120 {
121
122 const GeoElement *Oxygen = materialManager->getElement("Oxygen");
123 const GeoElement *Silicon = materialManager->getElement("Silicon");
124 const GeoElement *Hydrogen = materialManager->getElement("Hydrogen");
125 const GeoElement *Nitrogen = materialManager->getElement("Nitrogen");
126 const GeoElement *Carbon = materialManager->getElement("Carbon");
127 const GeoElement *Argon = materialManager->getElement("Argon");
128 const GeoElement *Tung = materialManager->getElement("Wolfram");
129 const GeoElement *Iron = materialManager->getElement("Iron");
130 const GeoElement *Nickel = materialManager->getElement("Nickel");
131
132 const int nEntries = 50; // Number of data points in each array
133 double eV = Gaudi::Units::eV;
134 double cm = Gaudi::Units::cm;
135
136 //Evenly distributed photon energy bins for the coming arrays of material properties. Range is selected for a PMT which is sensitive from 300-650nm wavelength
137 double photonEnergy[nEntries] = {0};
138 double minEnergy = 1.90769 * eV; double maxEnergy = 4.08882 * eV;
139 double step = (maxEnergy-minEnergy)/nEntries;
140 for(int i=0; i<nEntries; ++i){
141 photonEnergy[i] = minEnergy + i*step;
142 }
143
144 // Optical Air density and composition obtained from
145 // From https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=104
146 GeoExtendedMaterial *OpAir = new GeoExtendedMaterial("ZDC::opticalAir", 1.2e-3 * GeoModelKernelUnits::g / Gaudi::Units::cm3, stateGas, Gaudi::Units::STP_Temperature);
147 OpAir->add(Nitrogen, 0.755);
148 OpAir->add(Oxygen , 0.232);
149 OpAir->add(Argon , 0.013);
150
151 // The air in the modules must have refractive index defined for total internal reflection to work
152 // From NIST https://emtoolbox.nist.gov/wavelength/documentation.asp
153 double RefractiveIndexAir[nEntries];
154 for(int i=0; i<nEntries; ++i)
155 RefractiveIndexAir[i] = 1.000271800;
156
157 GeoMaterialPropertiesTable *airMPT = new GeoMaterialPropertiesTable();
158 airMPT->AddProperty("RINDEX", photonEnergy, RefractiveIndexAir, nEntries);
159 OpAir->SetMaterialPropertiesTable(airMPT);
160 OpAir->lock();
161 materialManager->addMaterial("ZDC", OpAir);
162
163 // RPD fiber core and ZDC rod material
164 // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=245
165 GeoExtendedMaterial *OpSilicaCore = new GeoExtendedMaterial("ZDC::opticalSilica", 2.320 * GeoModelKernelUnits::g / Gaudi::Units::cm3, stateSolid, Gaudi::Units::STP_Temperature);
166 OpSilicaCore->add(Silicon, 0.467);
167 OpSilicaCore->add(Oxygen, 0.533);
168
169 // Refractive index of fused silica obtained from
170 // https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf
171 double silica_RIND[] = {1.45656, 1.45694, 1.45737, 1.45781, 1.45825, 1.4587 , 1.45914, 1.45959, 1.46003, 1.46048,
172 1.46095, 1.46145, 1.46194, 1.46242, 1.46289, 1.4634 , 1.46394, 1.46448, 1.46502, 1.46556,
173 1.46608, 1.46666, 1.46725, 1.46784, 1.46843, 1.46902, 1.46961, 1.47024, 1.4709 , 1.47155,
174 1.4722 , 1.47288, 1.47356, 1.47425, 1.47494, 1.47566, 1.4764 , 1.47715, 1.4779 , 1.47864,
175 1.47935, 1.48014, 1.48093, 1.48172, 1.48254, 1.48339, 1.48424, 1.4851 , 1.48598, 1.48689};
176
177 // Absorption length index of fused silica derrived from
178 // https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf
179 double silica_ABSL[] = {1.786e+04 * cm, 1.556e+04 * cm, 1.982e+04 * cm, 2.369e+04 * cm, 2.046e+04 * cm, 1.595e+04 * cm, 1.582e+04 * cm,
180 1.420e+04 * cm, 1.279e+04 * cm, 1.545e+04 * cm, 1.498e+04 * cm, 1.358e+04 * cm, 1.824e+04 * cm, 2.320e+04 * cm,
181 3.736e+04 * cm, 2.155e+04 * cm, 1.718e+04 * cm, 1.871e+04 * cm, 2.286e+04 * cm, 3.597e+04 * cm, 4.358e+04 * cm,
182 2.751e+04 * cm, 1.967e+04 * cm, 1.743e+04 * cm, 1.425e+04 * cm, 1.198e+04 * cm, 1.371e+04 * cm, 1.911e+04 * cm,
183 4.413e+04 * cm, 4.002e+04 * cm, 2.621e+04 * cm, 1.420e+04 * cm, 1.085e+04 * cm, 1.020e+04 * cm, 1.090e+04 * cm,
184 1.267e+04 * cm, 1.369e+04 * cm, 1.427e+04 * cm, 1.484e+04 * cm, 1.480e+04 * cm, 1.443e+04 * cm, 1.274e+04 * cm,
185 1.242e+04 * cm, 1.212e+04 * cm, 1.232e+04 * cm, 1.251e+04 * cm, 1.168e+04 * cm, 1.052e+04 * cm, 1.197e+04 * cm, 8.355e+03 * cm};
186
187 GeoMaterialPropertiesTable *silicaCoreMPT = new GeoMaterialPropertiesTable();
188 silicaCoreMPT->AddProperty("RINDEX" , photonEnergy, silica_RIND, nEntries); // index of refraction
189 silicaCoreMPT->AddProperty("ABSLENGTH", photonEnergy, silica_ABSL, nEntries); // absorption length
190 OpSilicaCore->SetMaterialPropertiesTable(silicaCoreMPT);
191 OpSilicaCore->lock();
192 materialManager->addMaterial("ZDC", OpSilicaCore);
193
194 // RPD fiber cladding
195 // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=245
196 GeoExtendedMaterial *OpSilicaClad = new GeoExtendedMaterial("ZDC::opticalSilicaClad", 2.320 * GeoModelKernelUnits::g / Gaudi::Units::cm3, stateSolid, Gaudi::Units::STP_Temperature);
197 OpSilicaClad->add(Silicon, 0.467);
198 OpSilicaClad->add(Oxygen, 0.533);
199
200 // Numerical aperture is given by data sheet as 0.22 and NA = sqrt( n1^2 - n2^2 ), so n2 = sqrt( n1^2 - NA^2 ) where n1 is silica_RIND
201 // https://www.content.molex.com/dxdam/literature/987650-8936.pdf
202 double silica_clad_RIND[] = {1.43985, 1.44023, 1.44067, 1.44112, 1.44156, 1.44201, 1.44246, 1.44291, 1.44336, 1.44381,
203 1.44429, 1.4448 , 1.44529, 1.44577, 1.44625, 1.44677, 1.44731, 1.44786, 1.44841, 1.44895,
204 1.44948, 1.45007, 1.45067, 1.45126, 1.45186, 1.45245, 1.45305, 1.45369, 1.45435, 1.45501,
205 1.45567, 1.45635, 1.45705, 1.45774, 1.45844, 1.45916, 1.45992, 1.46067, 1.46143, 1.46219,
206 1.4629 , 1.4637 , 1.46449, 1.46529, 1.46612, 1.46698, 1.46785, 1.46871, 1.4696 , 1.47052};
207
208 // Silica cladding
209 GeoMaterialPropertiesTable *silicaCladMPT = new GeoMaterialPropertiesTable();
210 silicaCladMPT->AddProperty("RINDEX" , photonEnergy, silica_clad_RIND, nEntries); // index of refraction
211 silicaCladMPT->AddProperty("ABSLENGTH", photonEnergy, silica_ABSL , nEntries); // absorption length
212 OpSilicaClad->SetMaterialPropertiesTable(silicaCladMPT);
213 OpSilicaClad->lock();
214 materialManager->addMaterial("ZDC", OpSilicaClad);
215
216 // Kapton fiber optic buffer material
217 // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=179
218 GeoExtendedMaterial *OpKapton = new GeoExtendedMaterial("ZDC::opticalKapton", 1.42 * GeoModelKernelUnits::g / Gaudi::Units::cm3, stateSolid, Gaudi::Units::STP_Temperature);
219 OpKapton->add(Hydrogen, 0.026362);
220 OpKapton->add(Carbon , 0.691133);
221 OpKapton->add(Nitrogen, 0.073270);
222 OpKapton->add(Oxygen , 0.209235);
223
224 // Refractive index obtained from
225 // https://engineering.case.edu/centers/sdle/sites/engineering.case.edu.centers.sdle/files/optical_properties_of_materials.pdf
226 double kapton_RIND[] = {1.7095 , 1.7111 , 1.7143 , 1.7191, 1.7207 , 1.7255 , 1.7271 , 1.73157, 1.7351 , 1.7383 ,
227 1.7416 , 1.7464 , 1.74978, 1.7545, 1.7593 , 1.766 , 1.7692 , 1.7758 , 1.78179, 1.79009,
228 1.794 , 1.80245, 1.8074 , 1.8157, 1.82184, 1.82659, 1.8344 , 1.84222, 1.8514 , 1.8584 ,
229 1.86392, 1.8723 , 1.88251, 1.8959, 1.90567, 1.92604, 1.93911, 1.95036, 1.96867, 1.97804,
230 1.9905 , 1.99755, 2.00821, 2.0146, 2.03435, 2.05705, 2.08078, 2.10021, 2.12912, 2.14333};
231
232 // Reflectivity obtained from
233 // https://amostech.com/TechnicalPapers/2018/Poster/Bengtson.pdf
234 double kapton_REFL[] = {0.502195 , 0.473894 , 0.446164 , 0.413816 , 0.375095 , 0.336845 , 0.293879 , 0.239299 , 0.200573 , 0.141596 ,
235 0.0949924 , 0.0590249 , 0.0353952 , 0.0206475 , 0.01305 , 0.00915075, 0.00722501, 0.00551299, 0.00552271, 0.00553177,
236 0.00554062, 0.00554942, 0.00555642, 0.00556579, 0.0083157, 0.011944 , 0.0172255 , 0.0225071 , 0.0277887 , 0.0330702 ,
237 0.0383518 , 0.0436334 , 0.0489149 , 0.0541965 , 0.0594781, 0.0647597 , 0.0700412 , 0.0753228 , 0.0806044 , 0.0858859 ,
238 0.0911675 , 0.0964491 , 0.101731 , 0.107012 , 0.112294 , 0.117575 , 0.122857 , 0.128139 , 0.13342 , 0.138702 };
239
240 // Absorption length obtained from
241 // https://pubs.rsc.org/fa/content/articlehtml/2018/ra/c7ra12101f
242 double kapton_ABSL[] = {0.00867389 * cm, 0.00842316 * cm, 0.00818715 * cm, 0.00798542 * cm, 0.00774517 * cm, 0.00751684 * cm, 0.00729959 * cm, 0.00709258 * cm, 0.00685686 * cm, 0.0066337 * cm,
243 0.00642212 * cm, 0.00616231 * cm, 0.00587855 * cm, 0.00561968 * cm, 0.00541849 * cm, 0.0052337 * cm, 0.00504545 * cm, 0.00487671 * cm, 0.00474623 * cm, 0.00461459 * cm,
244 0.00449314 * cm, 0.00437628 * cm, 0.0042637 * cm, 0.00413695 * cm, 0.00401798 * cm, 0.00382827 * cm, 0.003625 * cm, 0.00335813 * cm, 0.00303474 * cm, 0.00264672 * cm,
245 0.00226016 * cm, 0.00185863 * cm, 0.00146109 * cm, 0.00116967 * cm, 0.000901973 * cm, 0.000721492 * cm, 0.000559526 * cm, 0.000463349 * cm, 0.00034795 * cm, 0.000317447 * cm,
246 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm};
247
248 // Kapton
249 GeoMaterialPropertiesTable *kaptonMPT = new GeoMaterialPropertiesTable();
250 kaptonMPT->AddProperty("RINDEX" , photonEnergy, kapton_RIND, nEntries);
251 kaptonMPT->AddProperty("ABSLENGTH" , photonEnergy, kapton_ABSL, nEntries);
252 kaptonMPT->AddProperty("REFLECTIVITY", photonEnergy, kapton_REFL, nEntries);
253 OpKapton->SetMaterialPropertiesTable(kaptonMPT);
254 OpKapton->lock();
255 materialManager->addMaterial("ZDC", OpKapton);
256
257 // Absorber composition: savannah.cern.ch/task/download.php?file_id=22925
258 GeoMaterial *Tungsten = new GeoMaterial("ZDC::Tungsten", 18.155 * GeoModelKernelUnits::g / Gaudi::Units::cm3);
259 Tungsten->add(Tung , 0.948);
260 Tungsten->add(Nickel, 0.037);
261 Tungsten->add(Iron , 0.015);
262 Tungsten->lock();
263 materialManager->addMaterial("ZDC", Tungsten);
264
265 // ZDC housing material
266 GeoMaterial *Steel = new GeoMaterial("ZDC::Steel", 7.9 * GeoModelKernelUnits::g / Gaudi::Units::cm3);
267 Steel->add(Iron , 0.98);
268 Steel->add(Carbon, 0.02);
269 Steel->lock();
270 materialManager->addMaterial("ZDC", Steel);
271
272}
@ stateSolid
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *MPT)
void AddProperty(const char *key, double *PhotonMomenta, double *PropertyValues, int NumEntries)
virtual void addMaterial(const std::string &space, GeoMaterial *material)=0
virtual const GeoElement * getElement(const std::string &name)=0

◆ create()

void ZDC_DetFactory::create ( GeoPhysVol * world)
overridevirtual

Definition at line 67 of file ZDC_DetFactory.cxx.

68{
69 m_detectorManager = new ZDC_DetManager();
70 MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::create");
71
72 StoredMaterialManager *theMaterialManager;
73 if (StatusCode::SUCCESS != m_detectorStore->retrieve(theMaterialManager, "MATERIALS")) {
74 MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::create");
75 LogStream << MSG::ERROR << "execute: Could not retrieve StoredMaterialManager object from the detector store" << endmsg;
76 return;
77 }
78
79 buildMaterials(theMaterialManager);
80
81 /*************************************************
82 * Create TAN/TAXN slots
83 **************************************************/
84 std::array<GeoFullPhysVol*, 2> Envelope_Physical;
85 static const std::string airStr{"std::Air"};
86 static const std::string envStr{"Envelope_Logical"};
87 for(uint side : {0,1}){
88 const GeoMaterial *Air = theMaterialManager->getMaterial(airStr);
89 GeoBox *Envelope_Box = new GeoBox(m_tanW.at(side) * Gaudi::Units::mm * 0.5, m_tanH.at(side) * Gaudi::Units::mm * 0.5, m_tanD.at(side) * Gaudi::Units::mm * 0.5);
90 GeoLogVol *Envelope_Logical = new GeoLogVol(envStr, Envelope_Box, Air);
91 Envelope_Physical.at(side) = new GeoFullPhysVol(Envelope_Logical);
92
93 LogStream << MSG::INFO << "Creating " << m_tanSlotName.at(side) << " with dimensions (x,y,z) (" << m_tanW.at(side) << ", " << m_tanH.at(side) << ", " << m_tanD.at(side) << ") at ATLAS coordinates (x,y,z) (" << m_tanSlotTransform.at(side).translation().x() << ", " << m_tanSlotTransform.at(side).translation().y() << ", " << m_tanSlotTransform.at(side).translation().z() << ")" << endmsg;
94 }
95
96 /*************************************************
97 * Place Detectors in TAN/TAXN slots
98 **************************************************/
99 for(auto&& module : m_modules){
100 int side = (module->getSide() > 0) ? 1 : 0;
101 LogStream << MSG::INFO << "Creating " << module->getName() << " at TAN coordinates (x,y,z): (" << module->getTransform().translation().x() << ", " << module->getTransform().translation().y() << ", " << module->getTransform().translation().z() << ")" << endmsg;
102 module->create(Envelope_Physical.at(side), theMaterialManager, m_zdcID);
103 }
104
105 /*************************************************
106 * Place TAN/TAXN slots
107 **************************************************/
108 for(int side : {0, 1}){
109 int sideSign = (side == 0) ? -1 : 1;
110 world->add(new GeoNameTag(m_tanSlotName.at(side)));
111 world->add(new GeoIdentifierTag(m_zdcID->channel_id(sideSign, 0, ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR).get_identifier32().get_compact()));
112 world->add(new GeoAlignableTransform(m_tanSlotTransform.at(side)));
113 world->add(Envelope_Physical.at(side));
114
115 m_detectorManager->addTreeTop(Envelope_Physical.at(side));
116 }
117
118}
unsigned int uint
@ INACTIVE
Definition ZdcID.h:21
@ AIR
Definition ZdcID.h:22
virtual const GeoMaterial * getMaterial(std::string_view name)=0
std::array< std::string, 2 > m_tanSlotName
void buildMaterials(StoredMaterialManager *materialManager)

◆ getDetectorManager()

const ZDC_DetManager * ZDC_DetFactory::getDetectorManager ( ) const
overridevirtual

Definition at line 274 of file ZDC_DetFactory.cxx.

274{ return m_detectorManager; }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 167 of file AthMessaging.h.

168{
169 MsgStream* ms = m_msg_tls.get();
170 if (!ms) {
171 if (!m_initialized.test_and_set()) initMessaging();
172 ms = new MsgStream(m_imsg,m_nm);
173 m_msg_tls.reset( ms );
174 }
175
176 ms->setLevel (m_lvl);
177 return *ms;
178}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels).
void initMessaging() const
Initialize our message level and MessageSvc.

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 182 of file AthMessaging.h.

183{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 // If user did not set explicit message level we have to initialize
154 // the messaging and retrieve the default via the MessageSvc.
155 if (m_lvl==MSG::NIL && !m_initialized.test_and_set()) initMessaging();
156
157 if (m_lvl <= lvl) {
158 msg() << lvl;
159 return true;
160 } else {
161 return false;
162 }
163}

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

◆ setTANSlot()

void ZDC_DetFactory::setTANSlot ( uint iside,
double width,
double height,
double depth,
const GeoTrf::Transform3D trf,
const std::string & name )

Definition at line 59 of file ZDC_DetFactory.cxx.

59 {
60 m_tanW.at(iside) = width;
61 m_tanH.at(iside) = height;
62 m_tanD.at(iside) = depth;
63 m_tanSlotName.at(iside) = name;
64 m_tanSlotTransform.at(iside) = trf;
65}
const double width
std::string depth
tag string for intendation
Definition fastadd.cxx:46

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging).

Definition at line 141 of file AthMessaging.h.

◆ m_detectorManager

ZDC_DetManager* ZDC_DetFactory::m_detectorManager {}
private

Definition at line 42 of file ZDC_DetFactory.h.

42{};

◆ m_detectorStore

StoreGateSvc* ZDC_DetFactory::m_detectorStore {}
private

Definition at line 43 of file ZDC_DetFactory.h.

43{};

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_modules

std::vector< std::unique_ptr<ZDC_ModuleBase> > ZDC_DetFactory::m_modules
private

Definition at line 45 of file ZDC_DetFactory.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels).

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_tanD

std::array<double, 2> ZDC_DetFactory::m_tanD
private

Definition at line 47 of file ZDC_DetFactory.h.

◆ m_tanH

std::array<double, 2> ZDC_DetFactory::m_tanH
private

Definition at line 47 of file ZDC_DetFactory.h.

◆ m_tanSlotName

std::array<std::string, 2> ZDC_DetFactory::m_tanSlotName
private

Definition at line 48 of file ZDC_DetFactory.h.

◆ m_tanSlotTransform

std::array<GeoTrf::Transform3D, 2> ZDC_DetFactory::m_tanSlotTransform
private

Definition at line 46 of file ZDC_DetFactory.h.

◆ m_tanW

std::array<double, 2> ZDC_DetFactory::m_tanW
private

Definition at line 47 of file ZDC_DetFactory.h.

◆ m_zdcID

const ZdcID* ZDC_DetFactory::m_zdcID {}
private

Definition at line 44 of file ZDC_DetFactory.h.

44{};

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