Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • emsmith/athena
  • dzubov/athena
  • pscholer/athena
  • akvam/athena
  • flasagni/athena
  • hartman/athena
  • alux/athena
  • berenice/athena
  • mschott/athena
  • mgenest/athena
  • pbalek/athena
  • dsalvato/athena
  • korcyl/athena
  • tlyubush/athena
  • lyubushk/athena
  • gstark/athena
  • yharris/athena
  • lmonsoni/athena
  • nagano/athena
  • lcorpe/athena
  • lshi/athena
  • rrosten/athena
  • ytsujika/athena
  • tiledemo/athena
  • abagdato/athena
  • fparodi/athena
  • tmoxter/athena
  • lheinric/athena
  • milu/athena
  • pyin/athena
  • juesseiv/athena-celeritas
  • mmlynari/athena
  • matthier/athena
  • jsandesa/athena
  • borisov/athena
  • zchubini/athena
  • mpenzin/athena
  • mcorradi/athena
  • okovanda/athena
  • meevans/athena
  • isiral/athena
  • haa2mu2tau/athena
  • nkvu/athena
  • andre/athena
  • ebakos/athena
  • gwmyers/athena
  • lportale/athena
  • vasothil/athena
  • bwinter/athena
  • brle/athena
  • camacho/athena
  • icioara/athena
  • mcentonz/athena
  • quli/athena
  • mikhail/athena
  • begilber/athena
  • gartoni/athena
  • abkahn/athena
  • mbasso/athena
  • pagacova/athena
  • dgancarc/athena
  • stefania/athena
  • gmarchio/athena
  • jolsson/athena
  • atlasdqm/athena
  • chuanshu/athena
  • yygao/athena
  • shimoji/athena
  • zhenw/athena
  • jojamies/athena
  • keli/athena
  • cnass/athena
  • beckerov/athena
  • passaggi/athena
  • marvin/athena
  • hdf5-utils/athena
  • pberta/athena
  • aaboulho/athena
  • ranjitn/athena
  • cescobar/athena
  • acrobert/athena
  • ktodome/athena
  • kastanas/athena
  • huirun/athena
  • atrzupek/athena
  • lfountas/athena
  • tzorbas/athena
  • derendar/athena
  • ccarrion/athena
  • britzger/athena
  • aambler/athena
  • hanl/athena
  • gipezzul/athena
  • epender/athena
  • robertma/athena
  • mmineev/athena
  • pleier/athena
  • gnn4itkteam/athena
  • phkoenig/athena
  • nekumari/athena
  • avasyuko/athena
  • nguseyno/athena
  • pavel/athena
  • gtateno/athena
  • reznicek/athena
  • jiling/athena
  • aburke/athena
  • jcordeir/athena
  • lmcelhin/athena
  • herrmant/athena
  • averbyts/athena
  • xuh/athena
  • ewallin/athena
  • tnommens/athena
  • tvazquez/athena
  • gascott/athena
  • shbansal/athena
  • ccaminch/athena
  • yuhui/athena
  • corentin/athena
  • lserkin/athena
  • berkeleylab/CharmPhysics/athena
  • miochoa/athena
  • hfox/athena
  • cdiez/athena
  • madurano/athena_gittutorial
  • cpollard/athena
  • ckirfel/athena
  • msykora/athena
  • jakoubek/athena
  • kjohns/athena
  • calfayan/athena
  • fwinkl/athena
  • atlas/athena
  • toshi/athena
  • dguest/athena
  • wlampl/athena
  • karolos/athena
  • aundrus/athena
  • akraszna/athena
  • jmontejo/athena
  • damazio/athena
  • rhauser/athena
  • okuprash/athena
  • phwindis/athena
  • smh/athena
  • arnaez/athena
  • turra/athena
  • baines/athena
  • tdado/athena
  • mmuskinj/athena
  • tadej/athena
  • psommer/athena
  • abuckley/athena
  • bwynne/athena
  • tstreble/athena
  • jmasik/athena
  • ATLAS-EGamma/athena
  • pjacka/athena
  • yuxu/athena
  • tamartin/athena
  • tbold/athena
  • mhodgkin/athena
  • toyamaza/athena
  • nstyles/athena
  • gemmeren/athena
  • ssnyder/athena
  • mark/athena
  • wwalko/athena
  • rbianchi/athena
  • emoyse/athena
  • graemes/athena
  • pgadow/athena
  • solodkov/athena
  • sshaw/athena
  • rbielski/athena
  • shlomit/athena
  • dcasper/athena
  • hartj/athena
  • mrybar/athena
  • jcatmore/athena
  • ychiu/athena
  • ebuschma/athena
  • christos/athena
  • yoyamagu/athena
  • gunal/athena
  • nikiforo/athena
  • ewelina/athena
  • ligang/athena
  • fpastore/athena
  • harkusha/athena
  • sroe/athena
  • mvozak/athena
  • leggett/athena
  • lfiorini/athena
  • martindl/athena
  • longjon/athena
  • almaloiz/athena
  • tlari/athena
  • jichen/athena
  • cchan/athena
  • susinha/athena
  • peter/athena
  • filthaut/athena
  • cshimmin/athena
  • mihuebne/athena
  • cvarni/athena
  • jsallen/athena-high-pt-ms-jets
  • wleight/athena
  • dkar/athena
  • nwarrack/athena
  • chays/athena
  • tkohno/athena
  • dtovey/athena
  • sgeorge/athena
  • janovak/athena
  • yafu/athena
  • mgignac/athena
  • cohm/athena
  • wiedenat/athena
  • omajersk/athena
  • khoo/athena
  • dbakshig/athena
  • maklein/athena
  • fernando/athena
  • tmkrtchy/athena
  • scheiric/athena
  • gingrich/athena
  • schaarsc/athena
  • pleskot/athena
  • jobalz/athena
  • ponyisi/athena
  • ebergeas/athena
  • ravinab/athena
  • ekasimi/athena
  • afaulkne/athena
  • ekuwertz/athena
  • merrenst/athena
  • xai/athena
  • achishol/athena
  • goetz/athena
  • dpopov/athena
  • alaurier/athena
  • astruebi/athena
  • mtoscani/athena
  • krumnack/athena
  • mdanning/athena
  • clseitz/athena
  • egramsta/athena
  • bmindur/athena
  • hye/athena
  • ppostola/athena
  • efilmer/athena
  • jpanduro/athena
  • ssarikay/athena
  • shanisch/athena
  • hyamauch/athena
  • rcoelhol/athena
  • ncalace/athena
  • aad/athena
  • stelzer/athena
  • gpanizzo/athena
  • tupham/athena
  • ssottoco/athena
  • turnerm/athena
  • nkrengel/athena
  • sutt/athena
  • rkopelia/athena
  • bernius/athena
  • cmcginn/athena
  • stsuno/athena
  • tsulaia/athena
  • vcairo/athena
  • yunju/athena
  • mbandier/athena
  • ldc/athena
  • jdandoy/athena
  • jmacdona/athena
  • mehlhase/athena
  • jufische/athena
  • nasbah/athena
  • dzanzi/athena
  • kzoch/athena
  • amete/athena
  • kwhalen/athena
  • bmorgan/athena
  • rcarney/athena
  • msaimper/athena
  • hhibi/athena
  • williams/athena
  • shhirose/athena
  • cheidegg/athena
  • kkohler/athena
  • heng/athena
  • cdeutsch/athena
  • coccaro/athena
  • loch/athena
  • nova/athena
  • ynoguchi/athena
  • campanel/athena
  • wbalunas/athena
  • todorova/athena
  • hoide/athena
  • xju/athena
  • alfroch/athena
  • sjiggins/athena
  • yuchou/athena
  • bgokturk/athena
  • mstamenk/athena
  • aytul/athena
  • hrussell/athena
  • jbiswal/athena
  • lidiaz/athena
  • okepka/athena
  • guerrero/athena
  • kegraham/athena
  • bouhova/athena
  • mverissi/athena
  • alwang/athena
  • kpachal/athena
  • mvanadia/athena
  • dhayden/athena
  • alopezso/athena
  • fmeloni/athena
  • mvessell/athena
  • ssantpur/athena
  • kenelson/athena
  • omeshkov/athena
  • igrabows/athena
  • soumya/athena
  • upatel/athena
  • tvarol/athena
  • dshope/athena
  • anperrev/athena
  • korona/athena
  • ruyuan/athena
  • eramakot/athena
  • mhank/athena
  • dbogavac/athena
  • fsforza/athena
  • tnobe/athena
  • derue/athena
  • cowagner/athena
  • angianni/athena
  • tursom/athena
  • fgiuli/athena
  • koffas/athena
  • ballbroo/athena
  • chinderk/athena
  • diehl/athena
  • falonso/athena
  • myexley/athena
  • hansenph/athena
  • davidek/athena
  • tphamleh/athena
  • salvator/athena
  • ekajomov/athena-general
  • sarbiolv/athena
  • hirose/athena
  • masato/athena
  • mfujimot/athena
  • stavrop/athena
  • jhaley/athena
  • jmendes/athena
  • stapiaar/athena
  • nwenke/athena
  • tpelzer/athena
  • agbet/athena
  • ffabbri/athena
  • cdelitzs/athena
  • gia/athena
  • hmildner/athena
  • kkrizka/athena
  • dbabal/athena
  • juesseiv/athena
  • temoskal/athena
  • ckitsaki/athena
  • asonay/athena
  • dwallace/athena
  • lferencz/athena
  • iaizenbe/athena
  • eschanet/athena
  • pmeiring/athena
  • czhou/athena
  • liberato/athena
  • jteoh/athena
  • jiawei/athena
  • mromano/athena
  • rustem/athena
  • wachan/athena
  • sswatman/athena
  • miqueits/athena
  • jbeirer/athena
  • nielsenj/athena
  • ranovotn/athena
  • elmsheus/athena
  • markowen/athena
  • asquith/athena
  • fuhe/athena
  • nicholas/athena
  • eparrish/athena
  • dakoch/athena
  • esoldato/athena
  • mhance/athena
  • aporeba/athena
  • aranzazu/athena
  • ndegroot/athena
  • lihan/athena
  • asoukhar/athena
  • jkempste/athena
  • sschramm/athena
  • tjunkerm/athena
  • mswiatlo/athena
  • ginaciog/athena
  • verducci/athena
  • martis/athena
  • mdelmast/athena
  • anmrodri/athena
  • bcarlson/athena
  • pliu/athena
  • scamarda/athena
  • ssaha/athena
  • gabarone/athena
  • lstocker/athena
  • mxia/athena
  • fastcalosim_test/athena
  • guindon/athena
  • rlongo/athena
  • mdonasci/athena
  • amoussa/athena
  • chelling/athena
  • conde/athena
  • mmittal/athena
  • hmaguire/athena
  • ffollega/athena
  • gialas/athena
  • fcostanz/athena
  • zsoumaim/athena
  • shion/athena
  • sberlend/athena
  • acts/athena
  • sschmitt/athena
  • cgutscho/athena
  • evarnes/athena
  • nifomin/athena
  • eriefel/athena
  • jkremer/athena
  • guescini/athena
  • dwilbern/athena
  • laforge/athena
  • susy-hackers/athena
  • akotsoke/athena
  • llorente/athena
  • rpoggi/athena
  • istin/athena
  • haozturk/athena
  • kkoeneke/athena
  • cmerlass/athena
  • fizisist/athena
  • acanesse/athena
  • rkarnam/athena
  • chenlian/athena
  • fengyu/athena
  • ysmirnov/athena_old
  • ivivarel/athena
  • navarrjo/athena
  • yanlin/athena
  • bulekov/athena
  • sanchevi/athena
  • amulski/athena
  • restevam/athena
  • pkramer/athena
  • sefernan/athena
  • smwang/athena
  • bauerpa/athena
  • vcavalie/athena
  • itrandaf/athena
  • thsjurse/athena
  • mmlynars/athena
  • iyeletsk/athena
  • mmazza/athena
  • jgonski/athena
  • almgadm/athena
  • csebasti/athena
  • mtchijov/athena
  • wobisch/athena
  • jhinds/athena
  • mwielers/athena
  • emmat/athena
  • tiyang/athena
  • zuysal/athena
  • lapereir/athena
  • aleopold/athena
  • lmiller/athena
  • lucam/athena
  • rbalasub/athena
  • kciesla/athena
  • pekman/athena
  • somadutt/athena
  • salderwe/athena
  • wmccorma/athena
  • masaito/athena
  • simmons/athena
  • jstupak/athena
  • kkreul/athena
  • ycoadou/athena
  • ilongari/athena
  • jzeng/athena
  • pinamont/athena
  • ssahin/athena
  • adye/athena
  • wtaylor/athena
  • kghorban/athena
  • gcallea/athena
  • kbelobor/athena
  • aoneill/athena
  • mcfayden/athena
  • dmaximov/athena
  • cschiavi/athena
  • ljeanty/athena
  • jraine/athena
  • fbartels/athena
  • kasai/athena
  • scarra/athena
  • ecarlson/athena
  • aelmouss/athena
  • brottler/athena
  • abandyop/athena
  • rozeny/athena
  • nbelyaev/athena
  • khanov/athena
  • rebeca/athena
  • joheinri/athena
  • gotero/athena
  • doglioni/athena
  • aohatl/athena
  • alaperto/athena
  • bigliett/athena
  • amarzin/athena
  • bhonan/athena
  • dpudzha/athena
  • rgarg/athena
  • pmoskvit/athena
  • begalli/athena
  • paulama/athena
  • yajun/athena
  • jajimene/athena
  • atlidali/athena
  • mpokidov/athena
  • mtesta/athena
  • vcroft/athena
  • lbozianu/athena
  • demelian/athena
  • barak/athena
  • torrence/athena
  • wprzygod/athena
  • hacooke/athena
  • sgalantz/athena
  • atsirigo/athena
  • tofitsch/athena
  • roward/athena
  • amoroso/athena
  • csander/athena
  • salnikov/athena
  • elrossi/athena
  • jsabater/athena
  • ozaplati/athena
  • mmiralle/athena
  • alory/athena
  • pottgen/athena
  • jdevivi/athena
  • pbokan/athena
  • klin/athena
  • ruth/athena
  • ymino/athena
  • trinn/athena
  • xchen/athena
  • xiaoning/athena
  • nishu/athena
  • apetukho/athena
  • cappelt/athena
  • paramon/athena
  • ratkin/athena
  • enarayan/athena
  • bleban/athena
  • dpizzi/athena
  • nelsonc/athena
  • juhofer/athena
  • qhu/athena
  • exot-27/athena
  • ztarem/athena
  • acassim/athena
  • bburghgr/athena
  • sampson/athena
  • ychow/athena
  • mmarjano/athena
  • mkrivos/athena
  • nviauxma/athena
  • pagessin/athena
  • LichtenbergGroup/athena
  • hessey/athena
  • watsona/athena
  • ibordule/athena
  • wfawcett/athena
  • perj/athena
  • othielma/athena
  • jreich/athena
  • mleblanc/athena
  • jdegens/athena
  • ztao/athena
  • hasada/athena
  • wgeorge/athena
  • pmendesa/athena
  • kristin/athena
  • sridouan/athena
  • alainb/athena
  • yama/athena
  • bachacou/athena
  • yake/athena
  • xiaohu/athena
  • ludovica/athena
  • jlsmith/athena
  • ssu/athena
  • musafdar/athena
  • ktsuri/athena
  • angerami/athena
  • rnayak/athena
  • pebaron/athena-weights
  • mproffit/athena
  • jezequel/athena
  • hschwart/athena
  • amendesj/athena
  • rerrabai/athena
  • asalzbur/athena
  • csamoila/athena
  • gproto/athena
  • lhelary/athena
  • spolacek/athena
  • malgren/athena
  • tiany/athena
  • mprincip/athena
  • bmondal/athena
  • aczirkos/athena
  • lbeemste/athena
  • grabanal/athena
  • silvinha/athena
  • asantra/athena
  • jreidels/athena
  • kyamaguc/athena
  • tboeckh/athena
  • holau/athena
  • jroloff/athena
  • mdhlamin/athena
  • tdiasdov/athena
  • bozek/athena
  • lkrauth/athena
  • slawlor/athena
  • emily/athena
  • iramirez/athena
  • carlod/athena
  • mgrabois/athena
  • bbrueers/athena
  • mtian/athena
  • bcole/athena
  • ecelebi/athena
  • idinu/athena
  • oducu/athena
  • hmoyanog/athena-4-mr
  • dhirsch/athena
  • jjwilkin/athena
  • roishi/athena
  • ygo/athena
  • yuanchan/athena
  • ggustavi/athena
  • exochell/athena
  • sbiryuko/athena
  • skorn/athena
  • diwillia/athena
  • scalvet/athena
  • honguyen/athena
  • cgarner/athena
  • jwspence/athena
  • changqia/athena
  • calpigia/athena
  • yangx/athena
  • jizamora/athena
  • rysawada/athena
  • atsiamis/athena
  • adimitri/athena
  • cmarcon/athena
  • iene/athena
  • dhangal/athena
  • kpetukho/athena
  • atlidbs/athena
  • tqiu/athena
  • tbisanz/athena
  • jspah/athena
  • athaler/athena
  • jcardena/athena
  • dopasqua/athena
  • jkretz/athena
  • tzenis/athena
  • maliev/athena
  • hzuchen/athena
  • lveloce/athena
  • ryamaguc/athena
  • oshukrun/athena
  • tsano/athena
  • mumohdso/athena2
  • fdelrio/athena
  • mbiros/athena
  • okumura/athena
  • sagara17/athena
  • iwang/athena
  • arennie/athena
  • dmunozpe/athena
  • mumohdso/athena
  • valentem/athena
  • caforio/athena
  • koshimiz/athena
  • evguillo/athena
  • rhayes/athena
  • atate/athena
  • zearnsha/athena
  • dossantn/athena
  • zhijie/athena
  • bnachman/athena
  • suyounas/athena
  • maly/athena
  • rjoshi/athena
  • yuzhan/athena
  • lunedic/athena
  • hlin/athena
  • machitis/athena
  • mtost/athena
  • mimarine/athena
  • lvannoli/athena
  • crougier/athena
  • thompson/athena
  • ndebiase/athena
  • saclawso/athena
  • dounwuch/athena
  • nkakati/athena
  • omezhens/athena
  • jonierma/athena
  • cprat/athena
  • echeu/athena
  • mischott/athena
  • martinpa/athena
  • csauer/athena
  • hhanif/athena
  • jodamp/athena
  • sahinsoy/athena
  • inaryshk/athena
  • tiknight/athena
  • fedin/athena
  • knikolop/athena
  • wendlanb/athena
  • lkeszegh/athena
  • xchu/athena
  • lbaltes/athena
  • angrigor/athena
  • adik/athena
  • jaoliver/athena
  • ntamir/athena
  • echeremu/athena
  • eschopf/athena
  • pbellos/athena
  • idrivask/athena
  • aikoulou/athena
  • ignesi/athena
  • algilber/athena
  • haweber/athena
  • sadykov/athena
  • sgurdasa/athena
  • tteixeir/athena
  • pamachad/athena
  • pbhattar/athena
  • pyanezca/athena
  • hiito/athena
  • tavandaa/athena
  • bsaifudd/athena
  • veellajo/athena
  • wolter/athena
  • mdrozdov/athena
  • fsili/athena
  • fdibello/athena
  • nheatley/athena
  • mzhai/athena
  • hsimpson/athena
  • minaenko/athena
  • dparedes/athena
  • mrenda/athena
  • rkusters/athena
  • chchau/athena
  • zhangr/athena
  • jburzyns/athena
  • zyan/athena
  • emmarsha/athena
  • zmarshal/athena
  • edweik/athena
  • phkenned/athena
  • javanden/athena
  • leevans/athena
  • slai/athena
  • awilhahn/athena
  • agaa/athena
  • srdas/athena
  • llaatu/athena
  • stsigari/athena
  • zfeng/athena
  • kkrowpma/athena
  • zifeng/athena
  • adonofri/athena
  • atropina/athena
  • metsai/athena
  • atlaspmb/athena
  • yuanda/athena
  • cleonido/athena
  • drousso/athena
  • arombola/athena
  • ademaria/athena
  • kchoi/athena
  • dgillber/athena
  • seggebre/athena
  • mnoury/athena
  • ijuarezr/athena
  • axiong/athena
  • eyamashi/athena
  • zang/athena
  • saktas/athena
  • amdesai/athena
  • acanbay/athena
  • nlopezca/athena
  • fbendebb/athena
  • tbuanes/athena
  • matakagi/athena
  • qibin/athena
  • berkeleylab/lowmutracking/athena
  • bshresth/athena
  • klassen/athena
  • hawatson/athena
  • egodden/athena
  • otheiner/athena-official
  • jferrand/athena
  • cbuitrag/athena
  • hpotti/athena
  • mfarring/athena
  • dzengerj/athena
  • chonghao/athena
  • vtudorac/athena
  • parodi/athena
  • dcieri/athena
  • bballard/athena
  • lmontana/athena
  • zhuyi/athena
  • knakkali/athena
  • buboehm/athena
  • cimcp/athena
  • adaribay/athena
  • asansar/athena
  • cantel/athena
  • iliadis/athena
  • weixi/athena
  • kbenkend/athena
  • frenner/athena
  • duperrin/athena
  • jburr/athena
  • dkoeck/athena
  • isotarri/athena
  • blumen/athena
  • bstanisl/athena
  • mfewell/athena
  • eegidiop/athena
  • smitani/athena
  • czodrows/athena
  • yulei/athena
  • olangrek/athena
  • miholzbo/athena
  • amincer/athena
  • alsala/athena
  • gshatri/athena
  • jmharris/athena
  • hpang/athena
  • clantz/athena
  • gripelli/athena
  • mleigh/athena
  • jgargan/athena
  • ewatton/athena
  • preselection-hackathon/athena
  • otheiner/athena
  • tizuo/athena
  • deniso/athena
  • rushioda/athena
  • sfranche/athena
  • smeriano/athena
  • mfernoux/athena
  • chandler/athena
  • jnitschk/athena
  • bernardo/athena
  • viruelas/athena
  • pebaron/athena-td
  • davetisy/athena
  • ksugizak/athena
  • yusano/athena
  • hriani/athena
  • anghosh/ef-anindya
  • skaur/athena
  • yochi/athena
  • jgombas/athena
  • vcepaiti/athena
  • sroygara/athena
  • wsherman/athena
  • rtagami/athena
  • apsallid/athena
  • pakontax/athena
  • yuanj/athena
  • agavrily/athena
  • chji/athena
  • abunka/athena
  • dmclaugh/athena
  • dmahon/athena
  • mcgensvc/athena
  • cjmeyer/athena
  • giagu/athena
  • almay/athena
  • mshapiro/athena
  • yuwen/athena
  • qberthet/athena
  • glamprin/athena
  • islazyk/athena
  • dkobylia/athena
  • baitbenc/athena
  • dakiyama/athena
  • ekay/athena
  • mbarel/athena
  • rdinardo/athena
  • szambito/athena
  • cgrefe/athena
  • osalin/athena
  • mlanzacb/athena
  • minlin/athena
  • wsfreund/athena
  • kazhang/athena
  • pebaron/athena
  • hwilkens/athena
  • enagy/athena
  • beringer/athena
  • yyap/athena
  • menke/athena
  • mavogel/athena
  • mduehrss/athena
  • schaffer/athena
  • tkharlam/athena
  • mspalla/athena
  • fcalosim/athena
  • smobius/athena
  • carquin/athena
  • spagan/athena
  • rateixei/athena
  • dportill/athena
  • okiverny/athena
  • chhayes/athena
  • jelena/athena
  • lmijovic/athena
  • osunnebo/athena
  • desilva/athena
  • satom/athena
  • junpei/athena
  • jwalder/athena
  • tilebeam/athena
  • sanmay/athena
  • mcarnesa/athena
  • jahreda/athena
  • kiabelin/athena
  • jstark/athena
  • delsart/athena
  • jedebevc/athena
  • krbjoerk/athena
  • cyoung/athena
  • vtskhaya/athena
  • silu/athena
  • jtanaka/athena
  • mtogawa/athena
  • maslawin/athena
  • luxin/athena
  • faser/offline/athena
  • yifany/athena
  • haoran/athena
  • danning/athena
  • dcasperfaser/athena
  • minghui/athena
  • beddall/athena
  • mmontell/athena
  • cfan/athena
  • kazheng/athena
  • almeidvi/athena
  • srettie/athena
  • vmartin/athena
  • kgupta/athena
  • lhenkelm/athena
  • sudha/athena
  • beltran/athena-fork
  • pajones/athena
  • anbaraja/athena
  • ssinha/athena
  • lgagnon/athena
  • dpanchal/athena
  • serodrig/athena
  • amorenos/athena
  • joana/athena
  • kkawade/athena
  • mtanasin/athena
  • jshahini/athena
  • chiodini/athena
  • lfeligio/athena
  • vbuxbaum/athena
  • kburka/athena
  • apalazzo/athena
  • gonzalri/athena
  • jaofferm/athena
  • desengup/athena
  • ehaines/athena
  • rmazini/athena
  • gottino/athena
  • qidong/athena
  • mdidenko/athena
  • gavrilen/athena
  • dwkim/athena
  • sabidi/athena
  • ktackman/athena
  • bkerridg/athena
  • jingjing/athena
  • cdimitri/athena
  • hazeng/athena
  • yche/athena
  • ktopolni/athena
  • yoyeh/athena
  • dabattul/athena
  • attrtcal/athena
  • sgaid/athena
  • thmaurin/athena
  • asciandr/athena
  • mischott/athena-22
  • lbazzano/athena
  • chjiang/athena
  • bochen/athena
  • rushioda/athena-3
  • krdona/athena
  • pclark/athena
  • dtorresa/athena
  • nlad/athena
  • meiqi/athena
  • kvidalgu/athena
  • jcurran/athena
  • aaikot/athena
  • hmoyanog/athena
  • aackerma/athena
  • yingjun/athena
  • xinfei/athena
  • maboelel/athena
  • lesplend/athena
  • aivina/athena
  • mschefer/athena
  • kazheng/athena-physics-val-2023
  • xinhui/athena
  • zoduan/athena
  • rmakhman/athena
  • zhiliang/athena
  • liuk/athena
  • shhan/athena
  • xingguo/athena
  • bdixit/athena
  • alsidley/athena
  • sfrances/athena
  • jlue/athena
  • ragrabar/athena
  • kyjones/topoetcone-removal
  • niabicht/athena
  • asehrawa/athena
  • lcalic/athena-backup
  • mhoppesc/athena
  • keener/athena
  • llewitt/athena
  • yunagai/athena
  • shahzad/athena
  • greynold/athena
  • adohnalo/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • bschlag/athena
  • yinmiao/athena
  • bruckman/athena
  • drankin/athena
  • asmaga/athena
  • nkang/athena
  • hvanders/athena
  • ladamczy/test
  • kbhide/athena
  • losanti/athena
  • berkeleylab/acts/athena
  • weitao/athena
  • jiturriz/athena
  • tbeumker/athenatest
  • tbeumker/athena
  • losanti/athena-23
  • wsong/athena
  • menu-hackathon/athena
  • kyjones/trigger-example
  • dmankad/athena-idle
  • vmaksimo/athena
  • toobauma/athena
  • dawerner/athena
  • edreyer/athena
  • seggebre/athena-fluencemap-modification
  • gtarna/athena
  • fisopkov/athena
  • lprimomo/athena
  • SecVtx-Lancaster/Athena
  • smanzoni/athena
  • maparo/athena
  • shmukher/athena
  • adimri/athena
  • aackerma/atlas-athena
  • wstanek/athena
  • pgraveli/athena
  • jcrosby/athena
  • lrambell/athena
  • atlas-sa-uct/athena
  • tovsiann/athena
  • eullmank/athena
  • rsnyder/athena
  • ppotepa/athena
  • zgao/athena
  • skita/athena
  • mhemmett/athena
  • achakrav/athena
  • lroos/athena
  • evitale/athena
  • xmapekul/athena
  • kgoto/athena
  • arej/athena
  • thmaurin/athena-sim-flavour
  • rashbypi/athena
  • ivyas/athena
  • jebohm/athena
  • lkretsch/athena
  • epasqual/athena
  • npond/athena
  • aleksand/athena
  • hluk/athena
  • mbiyabi/athena
  • cvittori/athena
  • aralves/athena
  • mihe/athena
  • dbiswas/athena
  • mkareem/athena
  • dkoeck/anniathenafork
  • tslee/athena
  • cgarvey/athena
  • rgupta/athena
  • pkumari/athena
  • croland/athena
  • mhaacke/athena
  • kesedlac/athena
  • feickert/athena
  • asoflau/athena
  • ricunnin/athena
  • agerwin/athena
  • ctosciri/athena-old
  • ctosciri/athena
  • gfrattar/athena
  • gtolkach/athena
  • gwilliam/athena
  • bdixit/masking-strip-modules
  • bscheuer/athena
  • svanstro/athena
  • jfeng2/athena
  • ksudo/athena
  • rhiguchi/athena
  • etoyoda/athena
  • gaofeng/athena
  • kosuzuki/athena
  • rmizuhik/athena
  • kkanke/athena
  • hart/athena
  • vaustrup/athena
  • tnakagaw/athena
  • amakita/athena
  • tpaschoa/athena
  • anayaz/athena
  • whopkins/athena
  • dduda/athena
  • maoki/athena
  • miyamada/athena
  • rishikaw/athena
  • evalient/athena
  • ferusso/athena
  • shudong/athena
  • aagaard/athena
  • smweber/athena
  • smweber/athena-run-3
  • zyan/athena-muon-calib
  • zyan/athena-muon-calib-stream
  • evalient/athena-dnn-calculator
  • dellacqu/athena
  • sbellman/athena
  • glagafon/project-nimber-1
  • strom/athena-dms
  • strom/athena
  • jsallen/athena
  • brosser/athena
  • leguo/athena
  • macretar/athena
  • skadir/athena-sadaf
  • aowang/athena
  • ooncel/athena
  • jhoya/athena
  • glagafon/handi-project
  • osotosan/athena
  • wuxi/athena
  • syan/athena-syan
  • tygeorge/athena
  • hasun/athena
  • will/athena
  • glagafon/handi-project-1
  • axgallen/athena-qualification-task
  • mnorfolk/athena
  • aborbely/athena
  • schernau/athena
  • karakawa/athena
  • taogawa/athena
  • seinfant/athena
  • tmlinare/athena
  • dmankad/athena-gen
  • mmaroun/ravina-fork
  • axgallen/athena
  • romar/athena
  • ktariq/athena
  • zuzak/athena
  • vlysenko/athena
  • agarabag/athena
  • dhagan/athena
  • mahorstm/athena
  • ibamwidh/athena
  • tizhang/athena
  • ipolishc/athena
  • xilin/athena
  • atishelm/athena
  • jolamber/athena
  • ykhoulak/myathena
  • yil/athena
  • frfische/athena
  • jlue/athena-latest
  • nkua-atlas/athena
  • huayu/athena
  • kifarman/athena
  • chuanye/athena
  • dntounis/athena
  • tayoshid/athena
  • lderamo/athena
  • dtruncal/athena
  • movincen/athena
  • nischmit/athena
  • steinber/athena-main
  • tdingley/athena
  • hasegawa/athena
  • glagafon/dq-optimize
  • kazheng/athena-acts
  • openc/athena
  • dongyi/athena
  • malvesca/athena
  • mnowak/athena
  • ladamczy/athena
  • lcalic/athena
  • yonoda/athena
  • ekajomov/athena-fork-fix
  • anfortma/athena
  • kfung/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • rqian/athena
  • alveltma/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • anstein/athena
  • edcritel/athena
  • pebaron/athena-leprem
  • gbird/athena
  • anhodges/athena
  • bglik/athena
  • midandre/athena
  • mfurukaw/athena
  • sokkerma/athena
  • mvivasal/athena
  • kyjones/athena
  • asbrooks/athena
  • mmlynars/athena-v-2
  • fcurcio/athena
  • mveen/athena
  • jmcgowan/athena
  • lboccard/athena
  • joroemer/athena
  • tburatov/athena
  • dmankad/athena
  • ctaybi/athena
  • tayoshid/athena-test
  • jodafons/athena
  • ivyoung/athena
  • drasslof/athena
  • tmclachl/athena
  • anburger/athena
  • sdemiran/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • apfleger/athena
  • fwinkel/athena
  • sdahbi/athena
  • sidoti/athena
  • goblirsc/athena
  • mmoors/athena
  • izahir/athena
  • rvinasco/athena
  • sanchezj/athena
  • jwkraus/athena
  • rhaberle/athena
  • obut/athena
  • klleras/athena
  • esimpson/athena
  • jhowarth/athena
  • janders/athena
  • jecouthu/athena
  • jchapman/athena
  • mungo/athena
  • dta/athena_old
  • avallier/athena
  • dtrischu/athena
  • fmontere/athena
  • fhenry/athena
  • sfuenzal/athena
  • zhaotong/athena
  • misantan/athena
  • zalegria/athena
  • awharton/Athena
  • gdigrego/athena
  • amelo/athena
  • acordeir/athena-ed
  • shaoguan/athena
  • nbruscin/athena
  • pdougan/athena
  • peiyan/athena
  • mkholoda/athena
  • fkirfel/athena
  • backes/athena
  • caiy/athena
  • tayoshid/athena-2024
  • kchu/athena
  • bcervato/athena
  • gfacini/athena
  • esampson/athena-idart
  • gmercado/athena
  • shpeng/athena-2
  • fwinkl2/athena
  • gmascare/athena
  • rhowen/athena
  • esampson/athena-idart-2
  • yvolkotr/athena
  • nharriso/athena
  • costanzo/athena
  • yuematsu/athena
  • djlewis/athena
  • pibutti/athena
  • esampson/athena-otp
  • alpleban/athena-met
  • bmoser/athena
  • astefl/athena
  • wcastigl/athena
  • esampson/athena-june-otp
  • yilin/athena
  • thitchin/athena
  • bdong/athena
  • ksahan/athena
  • zhanhang/athena
  • sosarkar/athena-again
  • agheata/athena
  • msasada/athena
  • lbarrade/athena
  • seth/athena
  • nsurijr/athena
  • okolay/athena
  • txu/athena
  • robouque/athena
  • zhangbo/athena
  • mlyukova/athena
  • esampson/june-2-otp
  • dbaronmo/athena
  • boudreau/athena
  • wema/athena
  • martyniu/athena
  • damperia/athena-acts
  • eballabe/athena
  • vsasse/athena
  • bhuth/athena
  • acamplan/athena
  • bngair/met-significance-r-22
  • bngair/me-tsig-athena
  • rhicks/athena
  • vkost/athena
  • ksakura/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • linghua/athena
  • domatter/athena
  • arelycg/athena
  • skadir/athena
  • juscerri/athena
  • sgoswami/athena
  • biliu/athena
  • beltran/athena
  • mwessels/athena
  • ddicroce/athena
  • sosarkar/athena
  • hshaddix/athena
  • dreikher/athena
  • emoon/athena
  • bdebjani/athena
  • fladias/athena
  • lwinkler/athena
  • elham/athena
  • haren/athena
  • cleong/athena
  • sdiefenb/athena-onnx-tutorial
  • mhabedan/athena
  • mads/athena
  • nkrogh/athena
  • dwilson/athena
  • fivone/athena
  • lsanfili/athena
  • thart/athena
  • scane/athena
  • kenakamu/athena
  • echerepa/athena
  • baer/athena
  • dcamarer/athena
  • dahumphr/athena
  • lifoster/athena
  • alancast/athena
  • haotianl/athena
  • eskorda/athena
  • glagafon/aaaathena
  • glagafon/athena
  • salopez/athena
  • rshibata/athena
  • rvavrick/athena
  • ukhurshi/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • pizhang/athena
  • htsoi/athena
  • therwig/athena
  • delitez/athena
  • mwitkows/athena
  • casadop/athena
  • pachabri/athena
  • lcorazzi/athena
  • jaburles/athena
  • ezaya/athena
  • achamber/athena
  • mmantina/athena
  • hzhuang/athena
  • lmonaco/athena
  • jkrupa/athena
  • rmole/athena
  • mfornasi/athena
  • mamirono/athena
  • rpozzi/athena
  • gserenis/athena
  • semami/athena
  • fdattola/athena
  • jinglis/athena
  • belderto/athena
  • uepstein/athena
  • abesir/athena
  • lechols/athena
  • lopezzot/athena
  • ljerala/athena
  • cmavungu/athena
  • jajohnso/athena
  • htorre/athena
  • robouque/athena-20241115
  • jlittle/athena
  • tneep/athena
  • fsiegert/athena
  • lbrown/athena
  • rmole/athena-personal-fork
  • wguerin/athena
  • kfang/athena-fork-kyfang
  • wenjingw/athena
  • jackersc/athena
  • epompapa/athena
  • prmitra/athena
  • ashirazi/athena
  • amoreira/athena
  • kgrimm/athena-kgrimm
  • wasu/athena
  • toheintz/athena
  • kdipetri/athena
  • gfazzino/athena
  • muschmid/athena
  • nihartma/athena
  • aslobodk/athena
  • goetz/athena-acts
  • yazhou/athena
  • djuarezg/athena
  • mdacunha/athena
  • falves/athena
  • alarnold/athena
  • wlai/athena
  • mborodin/athena
  • rohasan/athena
  • alecrhys/athena
  • asickles/athena
  • adsalvad/athena
  • ibenaoum/athena
  • novotnyp/athena
  • christog/athena
  • lvicenik/athena
  • tflee/athena
  • zetao/athena
  • kkazakov/athena
  • mfarzali/athena
  • llarson/athena
  • frcastig/athena
  • jusilva/athena
  • ehampshi/athena
  • pusharma/athena
  • gpinheir/athena
  • tomoya/athena-low-pt-muon-rec
  • exochell/my-athena
  • mojeda/athena
  • hshaddix/athena-hshaddix
  • jecifuen/athena
  • vchabala/athena
  • jlieberm/athena
  • jlai/athena
  • nsur/athena-lund
  • nshtokha/athena
  • chhultqu/athena
  • misavic/athena
  • camccrac/athena
  • pmourafr/athena
  • yuxuanz/local-athena
  • yukari/athena
  • zhubacek/athena
  • sizumiya/athena
  • akraus/athena
  • mnegrini/athena
  • rkavak/athena
  • mfilipig/athena
  • fdejean/athena
  • sawyer/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • zrokavec/athena
  • beyeo/athena
  • ssuravar/athena
  • gsalvi/athena
  • gipoddar/athena
  • fballi/athena
  • mtancock/athena-2
  • ywng/athena
  • vpires/athena-vasco
  • sutuncay/athena
1575 results
Show changes
Showing
with 258 additions and 298 deletions
......@@ -27,7 +27,7 @@ class BeamPipeDetectorManager : public GeoVDetectorManager
virtual PVConstLink getTreeTop(unsigned int i) const;
// Add a Tree top:
void addTreeTop(PVConstLink);
void addTreeTop(const PVConstLink&);
private:
......
......@@ -33,16 +33,15 @@
BeamPipeDetectorFactory::BeamPipeDetectorFactory(StoreGateSvc *detStore,
IRDBAccessSvc *pAccess)
:m_detectorManager(0),
m_materialManager(0),
:m_detectorManager(nullptr),
m_materialManager(nullptr),
m_detectorStore(detStore),
m_access(pAccess),
m_centralRegionZMax(1500*Gaudi::Units::mm)
{}
BeamPipeDetectorFactory::~BeamPipeDetectorFactory()
{
}
= default;
void BeamPipeDetectorFactory::create(GeoPhysVol *world)
{
......@@ -163,7 +162,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
// Sections 2 & 3 are placed in section 1.
// pvMotherSection will point to section 1.
GeoPhysVol* pvMotherSection = 0;
GeoPhysVol* pvMotherSection = nullptr;
bool addToFirstSection = true;
double rminSec1 = 0;
double rmaxSec1 = 0;
......@@ -234,7 +233,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
}
const GeoMaterial* mat = m_materialManager->getMaterial(material);
if (mat == 0) {
if (mat == nullptr) {
// For backward compatibility - older geometry versions didn't specify the
// material namespace
// std::cout << "Material """ << material << """ not found. Trying std::" << material << std::endl;
......@@ -263,7 +262,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
}
GeoTransform* tfSection = 0;
GeoTransform* tfSection = nullptr;
if (znew != 0 && (secNum==1 || !addToFirstSection)) tfSection = new GeoTransform(GeoTrf::TranslateZ3D(znew));
GeoIntrusivePtr<GeoNameTag> ntSection{new GeoNameTag(name)};
......@@ -287,7 +286,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
// Not needed, but just in case in the future we have +/- sections in central region
if(central && z!=0.) {
// add rotated section as well
GeoTransform* tfSectionRot = 0;
GeoTransform* tfSectionRot = nullptr;
if (isTube) {
// No need for rotation.
tfSectionRot = new GeoTransform(GeoTrf::TranslateZ3D(-znew));
......@@ -336,16 +335,16 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope)
}
double rFwd = 0;
if (fwdEntry.size()) {
if (!fwdEntry.empty()) {
rFwd = fwdEntry[0].r();
} else if (centralEntry.size()) {
} else if (!centralEntry.empty()) {
rFwd = centralEntry[0].r();
} else {
std::cout << "Unexpected condition when building beam pipe." << std::endl;
}
// central
if (centralEntry.size() == 0) {
if (centralEntry.empty()) {
envelopes.centralShape = new GeoTube(0, rFwd, m_centralRegionZMax);
} else {
// This case probably will never get used and is untested.
......@@ -371,7 +370,7 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope)
{
GeoRef<GeoPcon> pcone (new GeoPcon(0, 360*Gaudi::Units::deg));
pcone->addPlane(m_centralRegionZMax,0,rFwd);
if (fwdEntry.size() == 0) {
if (fwdEntry.empty()) {
// Unlikely case but for completeness
// we make small fwd region if everything is in central region.
pcone->addPlane(m_centralRegionZMax+0.1*Gaudi::Units::mm,0,rFwd);
......
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORFACTORY_H
......
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORFACTORY_LITE_H
......@@ -7,8 +7,6 @@
#include "GeoModelKernel/GeoVDetectorFactory.h"
#include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
#include <string>
class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory
{
......@@ -23,16 +21,13 @@ class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory
// Access to the results:
virtual const BeamPipeDetectorManager * getDetectorManager() const override;
// Illegal operations:
const BeamPipeDetectorFactory_Lite & operator=(const BeamPipeDetectorFactory_Lite &right) = delete;
BeamPipeDetectorFactory_Lite(const BeamPipeDetectorFactory_Lite &right) = delete;
private:
// Illegal operations:
const BeamPipeDetectorFactory_Lite & operator=(const BeamPipeDetectorFactory_Lite &right);
BeamPipeDetectorFactory_Lite(const BeamPipeDetectorFactory_Lite &right);
// The manager:
BeamPipeDetectorManager * m_manager;
BeamPipeDetectorManager* m_manager{nullptr};
};
// Class BeamPipeDetectorFactory_Lite
......
......@@ -22,7 +22,7 @@ PVConstLink BeamPipeDetectorManager::getTreeTop(unsigned int i) const
return m_volume[i];
}
void BeamPipeDetectorManager::addTreeTop(PVConstLink vol)
void BeamPipeDetectorManager::addTreeTop(const PVConstLink& vol)
{
m_volume.push_back(vol);
}
......
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "BeamPipeDetectorTool.h"
#include "BeamPipeDetectorFactory.h"
#include "BeamPipeDetectorFactory_Lite.h"
#include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
#include "BeamPipeDetectorFactory.h"
#include "BeamPipeDetectorFactory_Lite.h"
#include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "GaudiKernel/IService.h"
#include "GaudiKernel/ISvcLocator.h"
#include "GaudiKernel/MsgStream.h"
#include "StoreGate/StoreGateSvc.h"
......@@ -21,95 +20,65 @@
#include "GeoModelKernel/GeoVolumeCursor.h"
BeamPipeDetectorTool::BeamPipeDetectorTool( const std::string& type,
const std::string& name,
const IInterface* parent ):
GeoModelTool(type,name,parent),
m_manager(0),
m_mode("BeamPipe")
BeamPipeDetectorTool::BeamPipeDetectorTool( const std::string& type,
const std::string& name,
const IInterface* parent ):
GeoModelTool(type,name,parent)
{
declareProperty("BeamPipeMode", m_mode); //m_mode="BeamPipe" by default, setting m_mode="AssemblyBeamPipe" will trigger optimised implementation using assembly volume
}
BeamPipeDetectorTool::~BeamPipeDetectorTool()
{
}
BeamPipeDetectorTool::~BeamPipeDetectorTool() = default;
StatusCode BeamPipeDetectorTool::create()
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "Building Beam Pipe" << endmsg;
{
ATH_MSG_INFO("Building Beam Pipe");
IGeoDbTagSvc *geoDbTag;
StatusCode sc = service ("GeoDbTagSvc",geoDbTag);
if (sc.isFailure()) {
log << MSG::FATAL << "Could not locate GeoDbTagSvc" << endmsg;
return StatusCode::FAILURE;
}
SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service("GeoDbTagSvc")};
ATH_CHECK(geoDbTag.isValid());
std::string atlasVersion = geoDbTag->atlasVersion();
if(atlasVersion == "AUTO")
atlasVersion = "ATLAS-00";
std::string versionNode = "ATLAS";
GeoModelExperiment * theExpt;
if (StatusCode::SUCCESS != detStore()->retrieve( theExpt, "ATLAS" )) {
log << MSG::ERROR
<< "Could not find GeoModelExperiment ATLAS"
<< endmsg;
return (StatusCode::FAILURE);
}
if ( 0 == m_detector )
{
GeoPhysVol *world=&*theExpt->getPhysVol();
ServiceHandle<IRDBAccessSvc> accessSvc(geoDbTag->getParamSvcName(),name());
ATH_CHECK( accessSvc.retrieve());
GeoModelExperiment* theExpt{nullptr};
ATH_CHECK(detStore()->retrieve(theExpt, "ATLAS"));
GeoPhysVol* world=theExpt->getPhysVol();
ServiceHandle<IRDBAccessSvc> accessSvc(geoDbTag->getParamSvcName(),name());
ATH_CHECK(accessSvc.retrieve());
GeoModelIO::ReadGeoModel* sqliteReader = geoDbTag->getSqliteReader();
if (sqliteReader) {
BeamPipeDetectorFactory_Lite theBeamPipeFactory;
theBeamPipeFactory.create(world);
m_manager = theBeamPipeFactory.getDetectorManager();
}
else {
// Check we have the beampipe and print its version
// Print the version tag:
std::string beampipeVersionTag;
beampipeVersionTag = accessSvc->getChildTag("BeamPipe", atlasVersion,versionNode);
ATH_MSG_DEBUG("Beampipe Version: " << beampipeVersionTag);
if (beampipeVersionTag.empty()) {
ATH_MSG_INFO("No BeamPipe Version. Beam pipe will not be built.");
}
else {
BeamPipeDetectorFactory theBeamPipeFactory(detStore().operator->(),accessSvc.operator->());
theBeamPipeFactory.setTagNode(atlasVersion,versionNode,m_mode);
theBeamPipeFactory.create(world);
GeoModelIO::ReadGeoModel* sqliteReader = geoDbTag->getSqliteReader();
if (sqliteReader) {
BeamPipeDetectorFactory_Lite theBeamPipeFactory;
theBeamPipeFactory.create(world);
m_manager = theBeamPipeFactory.getDetectorManager();
}
else {
// Check we have the beampipe and print its version
// Print the version tag:
std::string beampipeVersionTag;
beampipeVersionTag = accessSvc->getChildTag("BeamPipe", atlasVersion,versionNode);
log << MSG::DEBUG << "Beampipe Version: " << beampipeVersionTag << endmsg;
if (beampipeVersionTag.empty()) {
log << MSG::INFO << "No BeamPipe Version. Beam pipe will not be built." << endmsg;
}
else {
BeamPipeDetectorFactory theBeamPipeFactory(detStore().operator->(),accessSvc.operator->());
theBeamPipeFactory.setTagNode(atlasVersion,versionNode,m_mode);
theBeamPipeFactory.create(world);
m_manager = theBeamPipeFactory.getDetectorManager();
}
}
if (m_manager) {
theExpt->addManager(m_manager);
sc = detStore()->record(m_manager,m_manager->getName());
if (sc.isFailure()) {
log << MSG::ERROR << "Could not register BeamPipe detector manager" << endmsg;
return (StatusCode::FAILURE);
}
return StatusCode::SUCCESS;
}
m_manager = theBeamPipeFactory.getDetectorManager();
}
}
if (m_manager) {
theExpt->addManager(m_manager);
ATH_CHECK(detStore()->record(m_manager,m_manager->getName()));
return StatusCode::SUCCESS;
}
return StatusCode::FAILURE;
}
......@@ -118,7 +87,7 @@ StatusCode BeamPipeDetectorTool::clear()
SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<BeamPipeDetectorManager>::ID(),m_manager->getName());
if(proxy) {
proxy->reset();
m_manager = 0;
m_manager = nullptr;
}
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef BEAMPIPEDETECTORTOOL_H
#define BEAMPIPEDETECTORTOOL_H
#ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORTOOL_H
#define BEAMPIPEGEOMODEL_BEAMPIPEDETECTORTOOL_H
#include "GeoModelUtilities/GeoModelTool.h"
class BeamPipeDetectorManager;
......@@ -20,9 +20,13 @@ class BeamPipeDetectorTool final : public GeoModelTool
virtual StatusCode create() override final;
virtual StatusCode clear() override final;
private:
const BeamPipeDetectorManager* m_manager;
std::string m_mode;
const BeamPipeDetectorManager* m_manager{nullptr};
StringProperty m_mode{this
, "BeamPipeMode"
, "BeamPipe"
, "Two modes: 'BeamPipe' default, 'AssemblyBeamPipe' activates implementation based on assembly volume"};
};
#endif
......@@ -6,12 +6,12 @@
#include "GeoModelInterfaces/StoredMaterialManager.h"
#include "GeoModelKernel/GeoMaterial.h"
#include "GeoModelKernel/GeoTube.h"
#include "GeoModelKernel/GeoMaterial.h"
#include "GeoModelKernel/GeoTube.h"
#include "GeoModelKernel/GeoBox.h"
#include "GeoModelKernel/GeoTubs.h"
#include "GeoModelKernel/GeoLogVol.h"
#include "GeoModelKernel/GeoNameTag.h"
#include "GeoModelKernel/GeoTubs.h"
#include "GeoModelKernel/GeoLogVol.h"
#include "GeoModelKernel/GeoNameTag.h"
#include "GeoModelKernel/GeoPhysVol.h"
#include "GeoModelKernel/GeoShape.h"
#include "GeoModelKernel/GeoShapeShift.h"
......@@ -21,29 +21,30 @@
#include "GaudiKernel/SystemOfUnits.h"
#include "StoreGate/StoreGateSvc.h"
#include "RDBAccessSvc/IRDBAccessSvc.h"
#include "RDBAccessSvc/IRDBRecord.h"
#include "RDBAccessSvc/IRDBRecordset.h"
#include "RDBAccessSvc/IRDBAccessSvc.h"
#include <string>
#include <map>
#include <string>
#include <utility>
CavernInfraDetectorFactory::CavernInfraDetectorFactory(ServiceHandle<StoreGateSvc> detStore,
ServiceHandle<IRDBAccessSvc> pAccess)
: m_detectorStore(detStore)
, m_access(pAccess)
: m_detectorStore(std::move(detStore))
, m_access(std::move(pAccess))
{
}
void CavernInfraDetectorFactory::create(GeoPhysVol *world)
{
{
m_detectorManager=new CavernInfraDetectorManager();
StoredMaterialManager* materialManager = nullptr;
if (StatusCode::SUCCESS != m_detectorStore->retrieve(materialManager, std::string("MATERIALS"))) {
return;
}
return;
}
// Get the materials
// Get the materials
const GeoMaterial *air = materialManager->getMaterial("std::Air");
const GeoMaterial *rock = materialManager->getMaterial("std::Rock");
const GeoMaterial *conc = materialManager->getMaterial("std::Concrete");
......@@ -51,14 +52,14 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
// Get Recordset CavernElements.
IRDBRecordset_ptr cavernElements = m_access->getRecordsetPtr("CavernElements",m_versionTag,m_versionNode);
std::map<std::string, unsigned int> elementMap;
for (unsigned int i=0; i<cavernElements->size(); i++) {
std::string key = (*cavernElements)[i]->getString("ELEMENT");
elementMap[key] = i;
}
unsigned int recordIndex;
//// -------------------------Build mother volume Point1--------------------------------
......@@ -66,13 +67,13 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
// -- first get index of the record in cavernElements recordset
// which corresponds to Point1 element
// -- get numbers from record
recordIndex = elementMap["Point1"];
recordIndex = elementMap["Point1"];
GeoNameTag *tag = new GeoNameTag("CavernInfra");
//// -----------------------------------Build SX1------------------------------------------
recordIndex = elementMap["SX1"];
double SX1Xpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double SX1Ypos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
......@@ -80,11 +81,11 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
double SX1HalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double SX1HalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double SX1HalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["SX1Air"];
double SX1AirYpos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
double SX1AirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double SX1AirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double SX1AirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double SX1AirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double SX1AirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
GeoTransform *s1XYZt = new GeoTransform(GeoTrf::Translate3D(SX1Xpos,SX1Ypos,SX1Zpos)); //1.7 -8.7
......@@ -92,9 +93,9 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
GeoBox *SX1 = new GeoBox(SX1HalfWidth ,SX1HalfHeight, SX1HalfLength); // 11.7, 6.5, 42.3
GeoLogVol *lvsx1s = new GeoLogVol("SX1Steel",SX1,shieldSteel);
GeoPhysVol *sx1 = new GeoPhysVol(lvsx1s);
world->add(tag);
world->add(tag);
world->add(sx1);
GeoTransform *s1z = new GeoTransform(GeoTrf::TranslateY3D(SX1AirYpos));
sx1->add(s1z);
......@@ -102,59 +103,59 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
GeoLogVol *lvsx1a = new GeoLogVol("SX1Air",SX1Air,air);
GeoPhysVol *sx1a = new GeoPhysVol(lvsx1a);
sx1->add(sx1a);
//// ------------------First: Build cavern with concrete-----------------------------
recordIndex = elementMap["WallACConc"];
double WallACConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double WallACConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double WallACConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double WallACConcMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
double WallACConcSphi= (*cavernElements)[recordIndex]->getDouble("SPHI");
double WallACConcDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
double WallACConcDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
recordIndex = elementMap["BoxConc"];
double BoxConcHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BoxConcHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BoxConcHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BoxConcHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BoxConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["VaultConc"];
double VaultConcZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double VaultConcZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double VaultConcYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
double VaultConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double VaultConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double VaultConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double VaultConcMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
double VaultConcSphi= (*cavernElements)[recordIndex]->getDouble("SPHI");
double VaultConcDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
recordIndex = elementMap["HallConc"];
double HallConcHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double HallConcHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double HallConcHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double HallConcHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double HallConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["BoxConcW"];
double BoxConcWZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcWZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcWYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
recordIndex = elementMap["BoxConcVleft"];
double BoxConcVleftZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcVleftZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcVleftYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
recordIndex = elementMap["BoxConcVright"];
double BoxConcVrightZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcVrightZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxConcVrightYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
recordIndex = elementMap["SurfaceFloor"];
double SurfaceFloorXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double SurfaceFloorZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double SurfaceFloorHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double SurfaceFloorHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double SurfaceFloorZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double SurfaceFloorHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double SurfaceFloorHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double SurfaceFloorHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
GeoTubs *WallACConcrete = new GeoTubs(WallACConcMinR, WallACConcMaxR, WallACConcHalfHeight, WallACConcSphi, WallACConcDphi);
GeoTubs *WallACConcrete = new GeoTubs(WallACConcMinR, WallACConcMaxR, WallACConcHalfHeight, WallACConcSphi, WallACConcDphi);
GeoBox *BoxConc = new GeoBox(BoxConcHalfLength, BoxConcHalfWidth, BoxConcHalfHeight);
GeoTubs *VaultConcrete = new GeoTubs(VaultConcMinR, VaultConcMaxR, VaultConcHalfHeight , VaultConcSphi, VaultConcDphi);
GeoTubs *VaultConcrete = new GeoTubs(VaultConcMinR, VaultConcMaxR, VaultConcHalfHeight , VaultConcSphi, VaultConcDphi);
GeoBox *HallConcrete = new GeoBox(HallConcHalfLength, HallConcHalfWidth, HallConcHalfHeight);
GeoBox *SurfaceFloor = new GeoBox(SurfaceFloorHalfLength, SurfaceFloorHalfWidth, SurfaceFloorHalfHeight);
......@@ -182,46 +183,46 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
subtract((*HoleJN) << GeoTrf::RotateY3D(M_PI*0.5) << GeoTrf::TranslateZ3D(-0.5*WallAAirZpos)*GeoTrf::TranslateY3D(-WallCAirXpos*1.0) );
const GeoShape & CutVaultConc = (*VaultConcrete).subtract((*BoxConc) << GeoTrf::Transform3D(BoxCutVaultLeftConc)).
subtract((*BoxConc) << GeoTrf::Transform3D(BoxCutVaulRightConc));
recordIndex = elementMap["ShaftCut"];
double ShaftCutZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double ShaftCutZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double ShaftCutYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
double ShaftCutHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double ShaftCutMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double ShaftCutMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double ShaftCutMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
recordIndex = elementMap["PX14Conc"];
double PX14ConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX14ConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX14ConcYpos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
double PX14ConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double PX14ConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX14ConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX14ConcMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
recordIndex = elementMap["PX16Conc"];
double PX16ConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX16ConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX16ConcYpos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
double PX16ConcHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double PX16ConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX16ConcMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX16ConcMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
//--------------- Build concrete shafts------------------------------.
GeoTube *ShaftCut = new GeoTube(ShaftCutMinR, ShaftCutMaxR, ShaftCutHalfHeight);
GeoTube *PX14Conc = new GeoTube(PX14ConcMinR, PX14ConcMaxR, PX14ConcHalfHeight);
GeoTube *PX16Conc = new GeoTube(PX16ConcMinR, PX16ConcMaxR, PX16ConcHalfHeight);
const GeoShape & ShaftsConc=
((*PX14Conc) << GeoTrf::TranslateX3D(PX14ConcXpos)*GeoTrf::TranslateY3D(PX14ConcYpos)).
add((*PX16Conc) << GeoTrf::TranslateX3D(PX16ConcXpos)*GeoTrf::TranslateY3D(PX16ConcYpos)).
subtract((*ShaftCut) << GeoTrf::TranslateZ3D(ShaftCutZpos)*GeoTrf::RotateY3D(ShaftCutYrotate));
recordIndex = elementMap["WallCConc"];
double WallCConcZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double WallCConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double WallCConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double WallCConcZrotate = (*cavernElements)[recordIndex]->getDouble("ZROTATE");
recordIndex = elementMap["WallAConc"];
double WallAConcZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double WallAConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double WallAConcXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
recordIndex = elementMap["ShaftsConc"];
double ShaftsConcZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
......@@ -278,57 +279,57 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
// subtract((*HoleJN) << GeoTrf::RotateY3D(M_PI*0.5) << GeoTrf::TranslateZ3D(-0.5*WallAAirZpos+CavernAirZpos)*GeoTrf::TranslateY3D(-WallCAirXpos*1.0) );
// subtract((*HoleJN) << GeoTrf::RotateY3D(M_PI*0.5) << GeoTrf::TranslateZ3D(-0.5*WallAAirZpos)*GeoTrf::TranslateY3D(-WallCAirXpos*1.0) );
//// -----------------------Second: Build cavern with air-------------------------------
// Create variables for Concrete Cavern and get index of the record in cavernElements
recordIndex = elementMap["WallACAir"];
double WallACAirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double WallACAirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double WallACAirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double WallACAirMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
double WallACAirSphi= (*cavernElements)[recordIndex]->getDouble("SPHI");
double WallACAirDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
double WallACAirDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
recordIndex = elementMap["BoxAir"];
double BoxAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BoxAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BoxAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BoxAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BoxAirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["VaultAir"];
double VaultAirZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double VaultAirZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double VaultAirYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
double VaultAirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double VaultAirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double VaultAirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double VaultAirMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
double VaultAirSphi= (*cavernElements)[recordIndex]->getDouble("SPHI");
double VaultAirDphi= (*cavernElements)[recordIndex]->getDouble("DPHI");
recordIndex = elementMap["HallAir"];
double HallAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double HallAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double HallAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double HallAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double HallAirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["BaseAir"];
double BaseAirZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BaseAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BaseAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BaseAirZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BaseAirHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double BaseAirHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double BaseAirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
recordIndex = elementMap["BoxAirW"];
double BoxAirWZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirWZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirWYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
recordIndex = elementMap["BoxAirVleft"];
double BoxAirVleftZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirVleftZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirVleftYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
recordIndex = elementMap["BoxAirVright"];
double BoxAirVrightZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirVrightZpos = (*cavernElements)[recordIndex]->getDouble("ZPOS")*Gaudi::Units::m;
double BoxAirVrightYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
GeoTubs *WallACAir = new GeoTubs(WallACAirMinR, WallACAirMaxR, WallACAirHalfHeight, WallACAirSphi, WallACAirDphi);
GeoTubs *WallACAir = new GeoTubs(WallACAirMinR, WallACAirMaxR, WallACAirHalfHeight, WallACAirSphi, WallACAirDphi);
GeoBox *BoxAir = new GeoBox(BoxAirHalfLength, BoxAirHalfWidth, BoxAirHalfHeight);
GeoTubs *VaultAir = new GeoTubs(VaultAirMinR, VaultAirMaxR, VaultAirHalfHeight, VaultAirSphi, VaultAirDphi);
GeoTubs *VaultAir = new GeoTubs(VaultAirMinR, VaultAirMaxR, VaultAirHalfHeight, VaultAirSphi, VaultAirDphi);
GeoBox *HallAir = new GeoBox(HallAirHalfLength, HallAirHalfWidth, HallAirHalfHeight);
GeoBox *BaseAir = new GeoBox(BaseAirHalfLength, BaseAirHalfWidth, BaseAirHalfHeight);
GeoTrf::Transform3D BoxCutWallAir = GeoTrf::TranslateZ3D(BoxAirWZpos)*GeoTrf::RotateY3D(BoxAirWYrotate);
......@@ -342,20 +343,20 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
//--------------- Build air shafts------------------------------.
recordIndex = elementMap["PX14Air"];
double PX14AirXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX14AirXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX14AirYpos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
double PX14AirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double PX14AirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX14AirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX14AirMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
recordIndex = elementMap["PX16Air"];
double PX16AirXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX16AirXpos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double PX16AirYpos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
double PX16AirHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double PX16AirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX16AirMinR = (*cavernElements)[recordIndex]->getDouble("MINR")*Gaudi::Units::m;
double PX16AirMaxR = (*cavernElements)[recordIndex]->getDouble("MAXR")*Gaudi::Units::m;
GeoTube *PX14Air = new GeoTube(PX14AirMinR, PX14AirMaxR, PX14AirHalfHeight);
GeoTube *PX14Air = new GeoTube(PX14AirMinR, PX14AirMaxR, PX14AirHalfHeight);
GeoTube *PX16Air = new GeoTube(PX16AirMinR, PX16AirMaxR, PX16AirHalfHeight);
recordIndex = elementMap["CavShaftsConc"];
......@@ -363,10 +364,10 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
double CavShaftsXrotate = (*cavernElements)[recordIndex]->getDouble("XROTATE");
double CavShaftsYrotate = (*cavernElements)[recordIndex]->getDouble("YROTATE");
const GeoShape & ShaftsAir=
const GeoShape & ShaftsAir=
((*PX14Air) << GeoTrf::TranslateX3D(PX14AirXpos)*GeoTrf::TranslateY3D(PX14AirYpos)).
add((*PX16Air) << GeoTrf::TranslateX3D(PX16AirXpos)*GeoTrf::TranslateY3D(PX16AirYpos));
//----------------Assemble everything--------------------------------.
const GeoShape & CavernAir = (*HallAir).
// add((*AirJN) << GeoTrf::RotateY3D(M_PI*0.5) << GeoTrf::TranslateZ3D(-0.5*WallAAirZpos)*GeoTrf::TranslateY3D(-WallCAirXpos*1.0) ).
......@@ -395,16 +396,16 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
const GeoShape & AirHall=
((CavernAir << GeoTrf::TranslateZ3D(CavernAirZpos))).
add((ShaftsAir << GeoTrf::TranslateZ3D(ShaftsAirZpos))); //allows for a built-in 2m thick plugs for both PX14 & PX16
//// -----------------------Build BedRock for Shafts and Cavern-------------------------------
recordIndex = elementMap["Rock"];
double RockHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double RockHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double RockHalfLength = (*cavernElements)[recordIndex]->getDouble("HALFLENGTH")*Gaudi::Units::m;
double RockHalfWidth = (*cavernElements)[recordIndex]->getDouble("HALFWIDTH")*Gaudi::Units::m;
double RockHalfHeight = (*cavernElements)[recordIndex]->getDouble("HALFHEIGHT")*Gaudi::Units::m;
double RockXPos = (*cavernElements)[recordIndex]->getDouble("XPOS")*Gaudi::Units::m;
double RockYPos = (*cavernElements)[recordIndex]->getDouble("YPOS")*Gaudi::Units::m;
GeoBox *Rockbox = new GeoBox( RockHalfWidth, RockHalfHeight, RockHalfLength); // 300, 50.75, 300
const GeoShape & BedRock = ((*Rockbox) .
subtract((AirHall) <<GeoTrf::TranslateY3D(CavShaftsYPos)*GeoTrf::RotateY3D(CavShaftsYrotate)*GeoTrf::RotateX3D(CavShaftsXrotate))).
......@@ -421,18 +422,18 @@ void CavernInfraDetectorFactory::create(GeoPhysVol *world)
const GeoShape & CavConcrete = ((Concrete).
// add((*HoleJN) << GeoTrf::RotateY3D(M_PI*0.5) << GeoTrf::TranslateZ3D(-0.5*WallAAirZpos+CavernAirZpos)*GeoTrf::TranslateY3D(-WallCAirXpos*1.0) ).
subtract(AirHall));
GeoTransform* xfTop = new GeoTransform(GeoTrf::TranslateY3D(CavShaftsYPos)*GeoTrf::RotateY3D(CavShaftsYrotate)*GeoTrf::RotateX3D(CavShaftsXrotate));
GeoTransform* xfTop = new GeoTransform(GeoTrf::TranslateY3D(CavShaftsYPos)*GeoTrf::RotateY3D(CavShaftsYrotate)*GeoTrf::RotateX3D(CavShaftsXrotate));
bedrock->add(xfTop);
GeoLogVol *lvcsc = new GeoLogVol("CAV_SHAFTS_CONC",&CavConcrete,conc);
GeoPhysVol *CavShaftsConc = new GeoPhysVol(lvcsc);
bedrock->add(CavShaftsConc);
//// NOW INSERT ALL OF THIS INTO THE WORLD.
m_detectorManager->addTreeTop(sx1);
m_detectorManager->addTreeTop(bedrock);
m_detectorManager->addTreeTop(bedrock);
}
const CavernInfraDetectorManager * CavernInfraDetectorFactory::getDetectorManager() const
......
......@@ -12,39 +12,39 @@
#include <string>
class CavernInfraDetectorFactory : public GeoVDetectorFactory
class CavernInfraDetectorFactory : public GeoVDetectorFactory
{
public:
// Constructor:
CavernInfraDetectorFactory(ServiceHandle<StoreGateSvc> pDetStore,
ServiceHandle<IRDBAccessSvc> pAccess);
// Illegal operations:
const CavernInfraDetectorFactory & operator=(const CavernInfraDetectorFactory &right) = delete;
CavernInfraDetectorFactory(const CavernInfraDetectorFactory &right) = delete;
// Destructor:
~CavernInfraDetectorFactory() = default;
// Creation of geometry:
virtual void create(GeoPhysVol *world) override;
// Access to the results:
virtual const CavernInfraDetectorManager* getDetectorManager() const override;
// Set version Tag and Node
void setTagNode(const std::string& tag, const std::string& node);
private:
private:
// The manager:
CavernInfraDetectorManager* m_detectorManager{nullptr};
ServiceHandle<StoreGateSvc> m_detectorStore;
ServiceHandle<IRDBAccessSvc> m_access;
std::string m_versionTag;
std::string m_versionNode;
};
// Class CavernInfraDetectorFactory
// Class CavernInfraDetectorFactory
#endif
......@@ -26,7 +26,7 @@ PVConstLink CavernInfraDetectorManager::getTreeTop(unsigned int i) const
return nullptr;
}
void CavernInfraDetectorManager::addTreeTop(PVLink link)
void CavernInfraDetectorManager::addTreeTop(const PVLink& link)
{
m_treeTops.push_back(link);
}
......
......@@ -9,29 +9,29 @@
#include "GeoModelKernel/GeoVDetectorManager.h"
#include <vector>
class CavernInfraDetectorManager : public GeoVDetectorManager
class CavernInfraDetectorManager : public GeoVDetectorManager
{
public:
CavernInfraDetectorManager();
const CavernInfraDetectorManager & operator=(const CavernInfraDetectorManager &right) = delete;
CavernInfraDetectorManager(const CavernInfraDetectorManager &right) = delete;
~CavernInfraDetectorManager();
// Access to raw geometry:
virtual unsigned int getNumTreeTops() const override;
virtual PVConstLink getTreeTop(unsigned int i) const override;
void addTreeTop(PVLink); // Add a Tree top:
private:
void addTreeTop(const PVLink&); // Add a Tree top:
private:
// Tree Tops
std::vector<PVLink> m_treeTops;
};
#ifndef GAUDI_NEUTRAL
#include "AthenaKernel/CLASS_DEF.h"
#include "AthenaKernel/CLASS_DEF.h"
CLASS_DEF(CavernInfraDetectorManager, 1500000300, 1)
#endif
......
......@@ -3,15 +3,15 @@
*/
#include "CavernInfraDetectorTool.h"
#include "CavernInfraDetectorFactory.h"
#include "CavernInfraDetectorManager.h"
#include "CavernInfraDetectorFactory.h"
#include "CavernInfraDetectorManager.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "RDBAccessSvc/IRDBAccessSvc.h"
CavernInfraDetectorTool::CavernInfraDetectorTool( const std::string& type,
CavernInfraDetectorTool::CavernInfraDetectorTool( const std::string& type,
const std::string& name,
const IInterface* parent )
: GeoModelTool( type, name, parent )
......@@ -19,7 +19,7 @@ CavernInfraDetectorTool::CavernInfraDetectorTool( const std::string& type,
}
StatusCode CavernInfraDetectorTool::create()
{
{
ServiceHandle<IGeoDbTagSvc> geoDbTag("GeoDbTagSvc", name());
ATH_CHECK(geoDbTag.retrieve());
......@@ -36,7 +36,7 @@ StatusCode CavernInfraDetectorTool::create()
GeoModelExperiment* theExpt = nullptr;
ATH_CHECK(detStore()->retrieve(theExpt,"ATLAS"));
GeoPhysVol *world=theExpt->getPhysVol();
ServiceHandle<IRDBAccessSvc> raccess("RDBAccessSvc",name());
ATH_CHECK(raccess.retrieve());
......
......@@ -8,7 +8,7 @@
#include "GeoModelUtilities/GeoModelTool.h"
class CavernInfraDetectorManager;
class CavernInfraDetectorTool final : public GeoModelTool
class CavernInfraDetectorTool final : public GeoModelTool
{
public:
CavernInfraDetectorTool( const std::string& type, const std::string& name, const IInterface* parent );
......@@ -16,9 +16,9 @@ class CavernInfraDetectorTool final : public GeoModelTool
virtual StatusCode create() override;
virtual StatusCode clear() override;
private:
const CavernInfraDetectorManager* m_manager{nullptr};
};
#endif
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ForDetEnvelopeManager_h
......@@ -10,7 +10,7 @@
#include <vector>
class ForDetEnvelopeManager : public GeoVDetectorManager
class ForDetEnvelopeManager : public GeoVDetectorManager
{
public:
......@@ -22,19 +22,19 @@ class ForDetEnvelopeManager : public GeoVDetectorManager
// Access to raw geometry:
virtual unsigned int getNumTreeTops() const;
// Access to raw geometry:
virtual PVConstLink getTreeTop(unsigned int i) const;
// Add a Tree top:
void addTreeTop(PVLink);
void addTreeTop(const PVLink&);
private:
private:
const ForDetEnvelopeManager & operator=(const ForDetEnvelopeManager &right);
ForDetEnvelopeManager(const ForDetEnvelopeManager &right);
std::vector<PVLink> m_volume;
std::vector<PVLink> m_volume;
};
......
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "ForDetEnvelopeFactory.h"
#include "GeoModelInterfaces/StoredMaterialManager.h"
#include "GeoModelKernel/GeoMaterial.h"
#include "GeoModelKernel/GeoTube.h"
#include "GeoModelKernel/GeoLogVol.h"
#include "GeoModelKernel/GeoNameTag.h"
#include "GeoModelKernel/GeoPhysVol.h"
#include "GeoModelKernel/GeoShapeShift.h"
#include "GeoModelKernel/GeoMaterial.h"
#include "GeoModelKernel/GeoTube.h"
#include "GeoModelKernel/GeoLogVol.h"
#include "GeoModelKernel/GeoNameTag.h"
#include "GeoModelKernel/GeoPhysVol.h"
#include "GeoModelKernel/GeoShapeShift.h"
#include "GeoModelKernel/GeoShapeUnion.h"
#include "StoreGate/StoreGateSvc.h"
......@@ -20,23 +20,20 @@
ForDetEnvelopeFactory::ForDetEnvelopeFactory(StoreGateSvc *detStore)
: m_detectorManager(0),
m_materialManager(0),
: m_detectorManager(nullptr),
m_materialManager(nullptr),
m_detectorStore(detStore)
{
}
ForDetEnvelopeFactory::~ForDetEnvelopeFactory()
{
}
void ForDetEnvelopeFactory::create(GeoPhysVol *world)
{
if (StatusCode::SUCCESS != m_detectorStore->retrieve(m_materialManager, std::string("MATERIALS"))) {
return;
}
// Get the materials
return;
}
// Get the materials
const GeoMaterial* air = m_materialManager->getMaterial("std::Air");
// Build boolean shape: union of two tubes
......@@ -47,7 +44,7 @@ void ForDetEnvelopeFactory::create(GeoPhysVol *world)
const GeoShapeShift& envShape1 = (*tube1)<<xfRelativeA;
const GeoShapeUnion& envShape = envShape1.add((*tube2)<<xfRelativeC);
GeoLogVol* lvEnv = new GeoLogVol("ForDetEnvelope",&envShape,air);
GeoPhysVol* pvEnv = new GeoPhysVol(lvEnv);
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef GEOMODELENVELOPES_FORDETENVELOPEFACTORY_H
......@@ -12,36 +12,36 @@ class StoreGateSvc;
class StoredMaterialManager;
class GeoShape;
class ForDetEnvelopeFactory final : public GeoVDetectorFactory
class ForDetEnvelopeFactory final : public GeoVDetectorFactory
{
public:
// Constructor:
ForDetEnvelopeFactory(StoreGateSvc *pDetStore);
// Destructor:
~ForDetEnvelopeFactory();
~ForDetEnvelopeFactory() = default;
// Creation of geometry:
virtual void create(GeoPhysVol *world) override;
// Access to the results:
virtual const ForDetEnvelopeManager * getDetectorManager() const override;
private:
private:
// Illegal operations:
const ForDetEnvelopeFactory & operator=(const ForDetEnvelopeFactory &right);
ForDetEnvelopeFactory(const ForDetEnvelopeFactory &right);
// The manager:
ForDetEnvelopeManager* m_detectorManager;
StoredMaterialManager* m_materialManager;
StoreGateSvc* m_detectorStore;
};
// Class ForDetEnvelopeFactory
// Class ForDetEnvelopeFactory
#endif
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "GeoModelEnvelopes/ForDetEnvelopeManager.h"
......@@ -23,7 +23,7 @@ PVConstLink ForDetEnvelopeManager::getTreeTop(unsigned int i) const
return m_volume[i];
}
void ForDetEnvelopeManager::addTreeTop(PVLink vol)
void ForDetEnvelopeManager::addTreeTop(const PVLink& vol)
{
m_volume.push_back(vol);
}
......
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "ForDetEnvelopeTool.h"
#include "ForDetEnvelopeFactory.h"
#include "GeoModelEnvelopes/ForDetEnvelopeManager.h"
#include "ForDetEnvelopeFactory.h"
#include "GeoModelEnvelopes/ForDetEnvelopeManager.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "StoreGate/StoreGateSvc.h"
......@@ -12,30 +12,25 @@
#include "AthenaKernel/ClassID_traits.h"
#include "SGTools/DataProxy.h"
ForDetEnvelopeTool::ForDetEnvelopeTool(const std::string& type,
const std::string& name,
const IInterface* parent):
ForDetEnvelopeTool::ForDetEnvelopeTool(const std::string& type,
const std::string& name,
const IInterface* parent):
GeoModelTool(type,name,parent),
m_manager(0)
m_manager(nullptr)
{
}
ForDetEnvelopeTool::~ForDetEnvelopeTool()
{
}
StatusCode ForDetEnvelopeTool::create()
{
{
ATH_MSG_INFO("Building Forward Detectors Envelope");
GeoModelExperiment* theExpt;
if (StatusCode::SUCCESS != detStore()->retrieve(theExpt,"ATLAS")) {
GeoModelExperiment* theExpt;
if (StatusCode::SUCCESS != detStore()->retrieve(theExpt,"ATLAS")) {
ATH_MSG_ERROR("Could not find GeoModelExperiment ATLAS");
return StatusCode::FAILURE;
}
return StatusCode::FAILURE;
}
if(0==m_manager) {
if(nullptr==m_manager) {
GeoPhysVol *world=&*theExpt->getPhysVol();
ForDetEnvelopeFactory theFactory(detStore().operator->());
......@@ -45,10 +40,10 @@ StatusCode ForDetEnvelopeTool::create()
theExpt->addManager(m_manager);
StatusCode sc = detStore()->record(m_manager,
m_manager->getName());
if (sc.isFailure()) {
ATH_MSG_ERROR("Could not register ForDetEnvelope detector manager");
return StatusCode::FAILURE;
return StatusCode::FAILURE;
}
return StatusCode::SUCCESS;
}
......@@ -60,7 +55,7 @@ StatusCode ForDetEnvelopeTool::clear()
SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<ForDetEnvelopeManager>::ID(),m_manager->getName());
if(proxy) {
proxy->reset();
m_manager = 0;
m_manager = nullptr;
}
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ForDetEnvelopeTool_h
#ifndef ForDetEnvelopeTool_h
#define ForDetEnvelopeTool_h 1
#include "GeoModelUtilities/GeoModelTool.h"
class ForDetEnvelopeManager;
class ForDetEnvelopeTool final : public GeoModelTool
class ForDetEnvelopeTool final : public GeoModelTool
{
public:
......@@ -16,7 +16,7 @@ class ForDetEnvelopeTool final : public GeoModelTool
ForDetEnvelopeTool( const std::string& type, const std::string& name, const IInterface* parent );
// Standard Destructor
virtual ~ForDetEnvelopeTool() override final;
virtual ~ForDetEnvelopeTool() override final = default;
virtual StatusCode create() override final;
virtual StatusCode clear() override final;
......@@ -24,4 +24,4 @@ class ForDetEnvelopeTool final : public GeoModelTool
const ForDetEnvelopeManager* m_manager;
};
#endif
#endif
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
......@@ -258,7 +258,7 @@ StatusCode DetDescrDBEnvelopeSvc::retrieveRZBoundary( std::string &node,
double curR = (*recIt)->getDouble("R") * CLHEP::mm;
double curZ = (*recIt)->getDouble("Z") * CLHEP::mm;
// store (r,z) duplet locally
rzVec.push_back( RZPair(curR, curZ) );
rzVec.emplace_back(curR, curZ );
}
return StatusCode::SUCCESS;
......@@ -286,7 +286,7 @@ StatusCode DetDescrDBEnvelopeSvc::fallbackRZBoundary( FallbackDoubleVector &r,
double curR = r[pos];
double curZ = z[pos];
// store (r,z) duplet locally
rzVec.push_back( RZPair(curR, curZ) );
rzVec.emplace_back(curR, curZ );
}
return StatusCode::SUCCESS;
......