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
  • acrobert/athena
  • ranjitn/athena
  • cescobar/athena
  • ktodome/athena
  • kastanas/athena
  • huirun/athena
  • atrzupek/athena
  • tzorbas/athena
  • lfountas/athena
  • ccarrion/athena
  • aambler/athena
  • derendar/athena
  • britzger/athena
  • hanl/athena
  • epender/athena
  • gipezzul/athena
  • mmineev/athena
  • robertma/athena
  • gnn4itkteam/athena
  • phkoenig/athena
  • pleier/athena
  • nguseyno/athena
  • nekumari/athena
  • avasyuko/athena
  • gtateno/athena
  • pavel/athena
  • reznicek/athena
  • aburke/athena
  • jiling/athena
  • jcordeir/athena
  • herrmant/athena
  • lmcelhin/athena
  • xuh/athena
  • averbyts/athena
  • tnommens/athena
  • ewallin/athena
  • tvazquez/athena
  • shbansal/athena
  • gascott/athena
  • yuhui/athena
  • lserkin/athena
  • ccaminch/athena
  • corentin/athena
  • miochoa/athena
  • berkeleylab/CharmPhysics/athena
  • cdiez/athena
  • cpollard/athena
  • hfox/athena
  • madurano/athena_gittutorial
  • msykora/athena
  • ckirfel/athena
  • jakoubek/athena
  • calfayan/athena
  • atlas/athena
  • toshi/athena
  • dguest/athena
  • fwinkl/athena
  • wlampl/athena
  • kjohns/athena
  • karolos/athena
  • jmontejo/athena
  • damazio/athena
  • okuprash/athena
  • smh/athena
  • aundrus/athena
  • turra/athena
  • tdado/athena
  • tadej/athena
  • akraszna/athena
  • abuckley/athena
  • jmasik/athena
  • pjacka/athena
  • tamartin/athena
  • rhauser/athena
  • tbold/athena
  • mhodgkin/athena
  • nstyles/athena
  • mark/athena
  • phwindis/athena
  • gemmeren/athena
  • ssnyder/athena
  • wwalko/athena
  • emoyse/athena
  • arnaez/athena
  • pgadow/athena
  • solodkov/athena
  • rbielski/athena
  • baines/athena
  • dcasper/athena
  • mrybar/athena
  • ychiu/athena
  • mmuskinj/athena
  • christos/athena
  • yoyamagu/athena
  • psommer/athena
  • rbianchi/athena
  • graemes/athena
  • sshaw/athena
  • bwynne/athena
  • shlomit/athena
  • hartj/athena
  • tstreble/athena
  • jcatmore/athena
  • ebuschma/athena
  • gunal/athena
  • ATLAS-EGamma/athena
  • ewelina/athena
  • ligang/athena
  • sroe/athena
  • lfiorini/athena
  • yuxu/athena
  • longjon/athena
  • toyamaza/athena
  • jichen/athena
  • almaloiz/athena
  • tlari/athena
  • susinha/athena
  • fpastore/athena
  • filthaut/athena
  • harkusha/athena
  • cchan/athena
  • mvozak/athena
  • peter/athena
  • leggett/athena
  • nikiforo/athena
  • cvarni/athena
  • wleight/athena
  • martindl/athena
  • nwarrack/athena
  • alfroch/athena
  • mstamenk/athena
  • chays/athena
  • cshimmin/athena
  • okepka/athena
  • tkohno/athena
  • dtovey/athena
  • janovak/athena
  • mihuebne/athena
  • wiedenat/athena
  • sgeorge/athena
  • khoo/athena
  • maklein/athena
  • cohm/athena
  • jsallen/athena-high-pt-ms-jets
  • omajersk/athena
  • yafu/athena
  • dbakshig/athena
  • fernando/athena
  • mgignac/athena
  • dkar/athena
  • ekuwertz/athena
  • xai/athena
  • merrenst/athena
  • tmkrtchy/athena
  • scheiric/athena
  • goetz/athena
  • pleskot/athena
  • dpopov/athena
  • gingrich/athena
  • achishol/athena
  • jobalz/athena
  • schaarsc/athena
  • alaurier/athena
  • mtoscani/athena
  • krumnack/athena
  • ebergeas/athena
  • astruebi/athena
  • ponyisi/athena
  • mdanning/athena
  • ekasimi/athena
  • afaulkne/athena
  • egramsta/athena
  • ravinab/athena
  • hye/athena
  • ppostola/athena
  • clseitz/athena
  • shanisch/athena
  • ncalace/athena
  • bmindur/athena
  • efilmer/athena
  • rcoelhol/athena
  • tupham/athena
  • jpanduro/athena
  • aad/athena
  • stelzer/athena
  • ssarikay/athena
  • gpanizzo/athena
  • ssottoco/athena
  • turnerm/athena
  • sutt/athena
  • rkopelia/athena
  • nkrengel/athena
  • hyamauch/athena
  • tsulaia/athena
  • vcairo/athena
  • cmcginn/athena
  • stsuno/athena
  • bernius/athena
  • yunju/athena
  • mehlhase/athena
  • mbandier/athena
  • jufische/athena
  • ldc/athena
  • jdandoy/athena
  • jmacdona/athena
  • kwhalen/athena
  • dzanzi/athena
  • bmorgan/athena
  • nasbah/athena
  • msaimper/athena
  • kzoch/athena
  • amete/athena
  • hhibi/athena
  • kkohler/athena
  • rcarney/athena
  • williams/athena
  • cdeutsch/athena
  • shhirose/athena
  • ynoguchi/athena
  • cheidegg/athena
  • coccaro/athena
  • campanel/athena
  • loch/athena
  • heng/athena
  • wbalunas/athena
  • hoide/athena
  • xju/athena
  • nova/athena
  • yuchou/athena
  • lidiaz/athena
  • todorova/athena
  • sjiggins/athena
  • hrussell/athena
  • jbiswal/athena
  • bgokturk/athena
  • kpachal/athena
  • aytul/athena
  • mverissi/athena
  • guerrero/athena
  • kegraham/athena
  • bouhova/athena
  • alopezso/athena
  • alwang/athena
  • dhayden/athena
  • mvessell/athena
  • ssantpur/athena
  • kenelson/athena
  • upatel/athena
  • mvanadia/athena
  • omeshkov/athena
  • igrabows/athena
  • tvarol/athena
  • soumya/athena
  • fmeloni/athena
  • mhank/athena
  • dshope/athena
  • ruyuan/athena
  • korona/athena
  • cowagner/athena
  • tursom/athena
  • anperrev/athena
  • fsforza/athena
  • eramakot/athena
  • dbogavac/athena
  • angianni/athena
  • tnobe/athena
  • derue/athena
  • fgiuli/athena
  • ballbroo/athena
  • koffas/athena
  • diehl/athena
  • chinderk/athena
  • falonso/athena
  • hansenph/athena
  • myexley/athena
  • mfujimot/athena
  • davidek/athena
  • hirose/athena
  • salvator/athena
  • tphamleh/athena
  • jhaley/athena
  • ekajomov/athena-general
  • masato/athena
  • nwenke/athena
  • stapiaar/athena
  • jmendes/athena
  • sarbiolv/athena
  • tpelzer/athena
  • stavrop/athena
  • ffabbri/athena
  • dbabal/athena
  • agbet/athena
  • juesseiv/athena
  • gia/athena
  • hmildner/athena
  • temoskal/athena
  • dwallace/athena
  • kkrizka/athena
  • cdelitzs/athena
  • eschanet/athena
  • iaizenbe/athena
  • asonay/athena
  • czhou/athena
  • lferencz/athena
  • ckitsaki/athena
  • jteoh/athena
  • liberato/athena
  • jiawei/athena
  • pmeiring/athena
  • mromano/athena
  • wachan/athena
  • rustem/athena
  • jbeirer/athena
  • ranovotn/athena
  • nielsenj/athena
  • elmsheus/athena
  • sswatman/athena
  • markowen/athena
  • miqueits/athena
  • asquith/athena
  • fuhe/athena
  • nicholas/athena
  • eparrish/athena
  • dakoch/athena
  • aranzazu/athena
  • esoldato/athena
  • mhance/athena
  • ndegroot/athena
  • lihan/athena
  • tjunkerm/athena
  • asoukhar/athena
  • jkempste/athena
  • sschramm/athena
  • ginaciog/athena
  • aporeba/athena
  • mdelmast/athena
  • mswiatlo/athena
  • verducci/athena
  • pliu/athena
  • martis/athena
  • anmrodri/athena
  • ssaha/athena
  • gabarone/athena
  • bcarlson/athena
  • mxia/athena
  • lstocker/athena
  • fastcalosim_test/athena
  • scamarda/athena
  • guindon/athena
  • rlongo/athena
  • mdonasci/athena
  • chelling/athena
  • conde/athena
  • amoussa/athena
  • gialas/athena
  • mmittal/athena
  • fcostanz/athena
  • shion/athena
  • ffollega/athena
  • sschmitt/athena
  • hmaguire/athena
  • zsoumaim/athena
  • sberlend/athena
  • acts/athena
  • cgutscho/athena
  • dwilbern/athena
  • nifomin/athena
  • laforge/athena
  • evarnes/athena
  • jkremer/athena
  • eriefel/athena
  • susy-hackers/athena
  • guescini/athena
  • llorente/athena
  • istin/athena
  • akotsoke/athena
  • fizisist/athena
  • haozturk/athena
  • acanesse/athena
  • kkoeneke/athena
  • rpoggi/athena
  • fengyu/athena
  • chenlian/athena
  • cmerlass/athena
  • rkarnam/athena
  • ysmirnov/athena_old
  • bulekov/athena
  • ivivarel/athena
  • navarrjo/athena
  • yanlin/athena
  • amulski/athena
  • sanchevi/athena
  • restevam/athena
  • pkramer/athena
  • bauerpa/athena
  • vcavalie/athena
  • jgonski/athena
  • smwang/athena
  • mmazza/athena
  • sefernan/athena
  • thsjurse/athena
  • itrandaf/athena
  • mmlynars/athena
  • iyeletsk/athena
  • almgadm/athena
  • mtchijov/athena
  • wobisch/athena
  • csebasti/athena
  • tiyang/athena
  • mwielers/athena
  • jhinds/athena
  • lapereir/athena
  • aleopold/athena
  • lmiller/athena
  • emmat/athena
  • pekman/athena
  • lucam/athena
  • zuysal/athena
  • somadutt/athena
  • kciesla/athena
  • wmccorma/athena
  • rbalasub/athena
  • kkreul/athena
  • salderwe/athena
  • masaito/athena
  • ycoadou/athena
  • ilongari/athena
  • jstupak/athena
  • pinamont/athena
  • simmons/athena
  • ssahin/athena
  • adye/athena
  • kghorban/athena
  • wtaylor/athena
  • jzeng/athena
  • kbelobor/athena
  • gcallea/athena
  • cschiavi/athena
  • fbartels/athena
  • aoneill/athena
  • dmaximov/athena
  • mcfayden/athena
  • scarra/athena
  • ljeanty/athena
  • kasai/athena
  • rozeny/athena
  • nbelyaev/athena
  • jraine/athena
  • ecarlson/athena
  • khanov/athena
  • aelmouss/athena
  • brottler/athena
  • joheinri/athena
  • rebeca/athena
  • gotero/athena
  • abandyop/athena
  • doglioni/athena
  • alaperto/athena
  • aohatl/athena
  • bhonan/athena
  • bigliett/athena
  • dpudzha/athena
  • amarzin/athena
  • rgarg/athena
  • pmoskvit/athena
  • paulama/athena
  • mtesta/athena
  • begalli/athena
  • lbozianu/athena
  • yajun/athena
  • jajimene/athena
  • atlidali/athena
  • wprzygod/athena
  • vcroft/athena
  • torrence/athena
  • mpokidov/athena
  • sgalantz/athena
  • roward/athena
  • demelian/athena
  • barak/athena
  • atsirigo/athena
  • tofitsch/athena
  • hacooke/athena
  • amoroso/athena
  • csander/athena
  • salnikov/athena
  • ozaplati/athena
  • elrossi/athena
  • mmiralle/athena
  • pottgen/athena
  • alory/athena
  • pbokan/athena
  • jsabater/athena
  • klin/athena
  • jdevivi/athena
  • ymino/athena
  • trinn/athena
  • xchen/athena
  • ruth/athena
  • xiaoning/athena
  • nishu/athena
  • paramon/athena
  • cappelt/athena
  • apetukho/athena
  • ratkin/athena
  • enarayan/athena
  • exot-27/athena
  • bleban/athena
  • dpizzi/athena
  • nelsonc/athena
  • juhofer/athena
  • ztarem/athena
  • sampson/athena
  • mmarjano/athena
  • acassim/athena
  • bburghgr/athena
  • qhu/athena
  • mkrivos/athena
  • pagessin/athena
  • ychow/athena
  • ibordule/athena
  • nviauxma/athena
  • hessey/athena
  • LichtenbergGroup/athena
  • watsona/athena
  • othielma/athena
  • wfawcett/athena
  • jdegens/athena
  • jreich/athena
  • hasada/athena
  • sridouan/athena
  • ztao/athena
  • perj/athena
  • mleblanc/athena
  • alainb/athena
  • xiaohu/athena
  • pmendesa/athena
  • wgeorge/athena
  • ludovica/athena
  • bachacou/athena
  • jlsmith/athena
  • yake/athena
  • ssu/athena
  • kristin/athena
  • yama/athena
  • ktsuri/athena
  • angerami/athena
  • pebaron/athena-weights
  • rnayak/athena
  • musafdar/athena
  • asalzbur/athena
  • mproffit/athena
  • amendesj/athena
  • jezequel/athena
  • hschwart/athena
  • csamoila/athena
  • lhelary/athena
  • gproto/athena
  • tiany/athena
  • malgren/athena
  • rerrabai/athena
  • mprincip/athena
  • spolacek/athena
  • aczirkos/athena
  • lbeemste/athena
  • kyamaguc/athena
  • bmondal/athena
  • grabanal/athena
  • tboeckh/athena
  • asantra/athena
  • jroloff/athena
  • jreidels/athena
  • bozek/athena
  • silvinha/athena
  • holau/athena
  • mdhlamin/athena
  • lkrauth/athena
  • slawlor/athena
  • tdiasdov/athena
  • mtian/athena
  • carlod/athena
  • emily/athena
  • iramirez/athena
  • mgrabois/athena
  • bbrueers/athena
  • idinu/athena
  • dhirsch/athena
  • bcole/athena
  • roishi/athena
  • ecelebi/athena
  • oducu/athena
  • ygo/athena
  • yuanchan/athena
  • exochell/athena
  • jjwilkin/athena
  • sbiryuko/athena
  • ggustavi/athena
  • hmoyanog/athena-4-mr
  • honguyen/athena
  • diwillia/athena
  • cgarner/athena
  • skorn/athena
  • jwspence/athena
  • changqia/athena
  • calpigia/athena
  • scalvet/athena
  • yangx/athena
  • jizamora/athena
  • rysawada/athena
  • adimitri/athena
  • atsiamis/athena
  • cmarcon/athena
  • kpetukho/athena
  • dhangal/athena
  • iene/athena
  • athaler/athena
  • tbisanz/athena
  • atlidbs/athena
  • jspah/athena
  • tqiu/athena
  • jcardena/athena
  • jkretz/athena
  • ryamaguc/athena
  • tzenis/athena
  • dopasqua/athena
  • oshukrun/athena
  • hzuchen/athena
  • fdelrio/athena
  • lveloce/athena
  • maliev/athena
  • mbiros/athena
  • tsano/athena
  • mumohdso/athena2
  • okumura/athena
  • iwang/athena
  • mumohdso/athena
  • sagara17/athena
  • dmunozpe/athena
  • koshimiz/athena
  • arennie/athena
  • valentem/athena
  • caforio/athena
  • rhayes/athena
  • evguillo/athena
  • zearnsha/athena
  • dossantn/athena
  • atate/athena
  • hlin/athena
  • bnachman/athena
  • suyounas/athena
  • zhijie/athena
  • maly/athena
  • rjoshi/athena
  • yuzhan/athena
  • machitis/athena
  • crougier/athena
  • lunedic/athena
  • mtost/athena
  • thompson/athena
  • lvannoli/athena
  • mimarine/athena
  • dounwuch/athena
  • ndebiase/athena
  • nkakati/athena
  • omezhens/athena
  • echeu/athena
  • jonierma/athena
  • saclawso/athena
  • martinpa/athena
  • cprat/athena
  • jodamp/athena
  • mischott/athena
  • hhanif/athena
  • sahinsoy/athena
  • csauer/athena
  • knikolop/athena
  • inaryshk/athena
  • wendlanb/athena
  • tiknight/athena
  • fedin/athena
  • adik/athena
  • xchu/athena
  • lkeszegh/athena
  • angrigor/athena
  • jaoliver/athena
  • echeremu/athena
  • lbaltes/athena
  • eschopf/athena
  • pbellos/athena
  • ignesi/athena
  • idrivask/athena
  • aikoulou/athena
  • haweber/athena
  • ntamir/athena
  • sadykov/athena
  • algilber/athena
  • sgurdasa/athena
  • pamachad/athena
  • pbhattar/athena
  • pyanezca/athena
  • hiito/athena
  • tteixeir/athena
  • bsaifudd/athena
  • tavandaa/athena
  • veellajo/athena
  • mdrozdov/athena
  • fsili/athena
  • wolter/athena
  • hsimpson/athena
  • fdibello/athena
  • dparedes/athena
  • nheatley/athena
  • mrenda/athena
  • mzhai/athena
  • chchau/athena
  • zyan/athena
  • minaenko/athena
  • zhangr/athena
  • emmarsha/athena
  • jburzyns/athena
  • rkusters/athena
  • edweik/athena
  • zmarshal/athena
  • leevans/athena
  • phkenned/athena
  • slai/athena
  • zfeng/athena
  • awilhahn/athena
  • agaa/athena
  • javanden/athena
  • kkrowpma/athena
  • llaatu/athena
  • stsigari/athena
  • metsai/athena
  • zifeng/athena
  • srdas/athena
  • yuanda/athena
  • adonofri/athena
  • atropina/athena
  • atlaspmb/athena
  • drousso/athena
  • arombola/athena
  • seggebre/athena
  • cleonido/athena
  • ijuarezr/athena
  • ademaria/athena
  • mnoury/athena
  • axiong/athena
  • kchoi/athena
  • amdesai/athena
  • dgillber/athena
  • eyamashi/athena
  • saktas/athena
  • zang/athena
  • nlopezca/athena
  • matakagi/athena
  • acanbay/athena
  • qibin/athena
  • fbendebb/athena
  • tbuanes/athena
  • berkeleylab/lowmutracking/athena
  • bshresth/athena
  • cbuitrag/athena
  • klassen/athena
  • jferrand/athena
  • egodden/athena
  • hawatson/athena
  • otheiner/athena-official
  • hpotti/athena
  • vtudorac/athena
  • mfarring/athena
  • parodi/athena
  • chonghao/athena
  • bballard/athena
  • buboehm/athena
  • dzengerj/athena
  • lmontana/athena
  • knakkali/athena
  • dcieri/athena
  • zhuyi/athena
  • cimcp/athena
  • cantel/athena
  • adaribay/athena
  • iliadis/athena
  • weixi/athena
  • duperrin/athena
  • kbenkend/athena
  • asansar/athena
  • isotarri/athena
  • jburr/athena
  • frenner/athena
  • blumen/athena
  • mfewell/athena
  • dkoeck/athena
  • bstanisl/athena
  • smitani/athena
  • czodrows/athena
  • eegidiop/athena
  • alsala/athena
  • miholzbo/athena
  • yulei/athena
  • clantz/athena
  • olangrek/athena
  • amincer/athena
  • otheiner/athena
  • gshatri/athena
  • jmharris/athena
  • hpang/athena
  • gripelli/athena
  • jgargan/athena
  • mleigh/athena
  • ewatton/athena
  • deniso/athena
  • preselection-hackathon/athena
  • tizuo/athena
  • rushioda/athena
  • mfernoux/athena
  • sfranche/athena
  • bernardo/athena
  • smeriano/athena
  • pebaron/athena-td
  • chandler/athena
  • jnitschk/athena
  • viruelas/athena
  • ksugizak/athena
  • yusano/athena
  • skaur/athena
  • anghosh/ef-anindya
  • hriani/athena
  • davetisy/athena
  • rtagami/athena
  • jgombas/athena
  • vcepaiti/athena
  • wsherman/athena
  • apsallid/athena
  • sroygara/athena
  • yochi/athena
  • chji/athena
  • pakontax/athena
  • yuanj/athena
  • dmahon/athena
  • dmclaugh/athena
  • mcgensvc/athena
  • agavrily/athena
  • abunka/athena
  • qberthet/athena
  • almay/athena
  • giagu/athena
  • cjmeyer/athena
  • yuwen/athena
  • mshapiro/athena
  • ekay/athena
  • islazyk/athena
  • mbarel/athena
  • dkobylia/athena
  • glamprin/athena
  • rdinardo/athena
  • baitbenc/athena
  • mlanzacb/athena
  • dakiyama/athena
  • osalin/athena
  • cgrefe/athena
  • minlin/athena
  • szambito/athena
  • hwilkens/athena
  • yyap/athena
  • kazhang/athena
  • wsfreund/athena
  • beringer/athena
  • mspalla/athena
  • schaffer/athena
  • pebaron/athena
  • enagy/athena
  • fcalosim/athena
  • menke/athena
  • tkharlam/athena
  • smobius/athena
  • mduehrss/athena
  • mavogel/athena
  • rateixei/athena
  • spagan/athena
  • carquin/athena
  • dportill/athena
  • chhayes/athena
  • okiverny/athena
  • jwalder/athena
  • jelena/athena
  • osunnebo/athena
  • desilva/athena
  • sanmay/athena
  • lmijovic/athena
  • junpei/athena
  • jstark/athena
  • tilebeam/athena
  • satom/athena
  • mcarnesa/athena
  • jahreda/athena
  • delsart/athena
  • kiabelin/athena
  • krbjoerk/athena
  • jedebevc/athena
  • vtskhaya/athena
  • cyoung/athena
  • yifany/athena
  • mtogawa/athena
  • silu/athena
  • jtanaka/athena
  • luxin/athena
  • faser/offline/athena
  • haoran/athena
  • maslawin/athena
  • danning/athena
  • dcasperfaser/athena
  • minghui/athena
  • almeidvi/athena
  • beddall/athena
  • mmontell/athena
  • cfan/athena
  • srettie/athena
  • vmartin/athena
  • kazheng/athena
  • sudha/athena
  • kgupta/athena
  • lhenkelm/athena
  • beltran/athena-fork
  • anbaraja/athena
  • lgagnon/athena
  • pajones/athena
  • ssinha/athena
  • serodrig/athena
  • dpanchal/athena
  • kkawade/athena
  • chiodini/athena
  • amorenos/athena
  • joana/athena
  • apalazzo/athena
  • mtanasin/athena
  • jshahini/athena
  • vbuxbaum/athena
  • gonzalri/athena
  • lfeligio/athena
  • kburka/athena
  • desengup/athena
  • ehaines/athena
  • jaofferm/athena
  • gottino/athena
  • gavrilen/athena
  • mdidenko/athena
  • rmazini/athena
  • dwkim/athena
  • qidong/athena
  • sabidi/athena
  • cdimitri/athena
  • ktackman/athena
  • bkerridg/athena
  • hazeng/athena
  • yche/athena
  • jingjing/athena
  • yoyeh/athena
  • ktopolni/athena
  • asciandr/athena
  • dabattul/athena
  • attrtcal/athena
  • mischott/athena-22
  • sgaid/athena
  • thmaurin/athena
  • chjiang/athena
  • lbazzano/athena
  • bochen/athena
  • rushioda/athena-3
  • pclark/athena
  • krdona/athena
  • kvidalgu/athena
  • meiqi/athena
  • nlad/athena
  • aaikot/athena
  • dtorresa/athena
  • jcurran/athena
  • hmoyanog/athena
  • maboelel/athena
  • aackerma/athena
  • lesplend/athena
  • yingjun/athena
  • xinfei/athena
  • aivina/athena
  • mschefer/athena
  • kazheng/athena-physics-val-2023
  • xinhui/athena
  • rmakhman/athena
  • shhan/athena
  • zhiliang/athena
  • zoduan/athena
  • bdixit/athena
  • liuk/athena
  • alsidley/athena
  • sfrances/athena
  • kyjones/topoetcone-removal
  • jlue/athena
  • ragrabar/athena
  • xingguo/athena
  • niabicht/athena
  • yunagai/athena
  • asehrawa/athena
  • keener/athena
  • shahzad/athena
  • mhoppesc/athena
  • bschlag/athena
  • llewitt/athena
  • lcalic/athena-backup
  • greynold/athena
  • yinmiao/athena
  • bruckman/athena
  • kazheng/athena-workingpoint
  • drankin/athena
  • agentry/athena
  • adohnalo/athena
  • hvanders/athena
  • nkang/athena
  • kbhide/athena
  • ladamczy/test
  • losanti/athena
  • asmaga/athena
  • berkeleylab/acts/athena
  • tbeumker/athenatest
  • losanti/athena-23
  • tbeumker/athena
  • weitao/athena
  • menu-hackathon/athena
  • jiturriz/athena
  • vmaksimo/athena
  • dmankad/athena-idle
  • wsong/athena
  • fisopkov/athena
  • kyjones/trigger-example
  • toobauma/athena
  • dawerner/athena
  • seggebre/athena-fluencemap-modification
  • lprimomo/athena
  • gtarna/athena
  • edreyer/athena
  • maparo/athena
  • smanzoni/athena
  • adimri/athena
  • jcrosby/athena
  • shmukher/athena
  • aackerma/atlas-athena
  • SecVtx-Lancaster/Athena
  • pgraveli/athena
  • tovsiann/athena
  • lrambell/athena
  • wstanek/athena
  • atlas-sa-uct/athena
  • ppotepa/athena
  • rsnyder/athena
  • eullmank/athena
  • achakrav/athena
  • zgao/athena
  • skita/athena
  • xmapekul/athena
  • mhemmett/athena
  • lroos/athena
  • rashbypi/athena
  • kgoto/athena
  • evitale/athena
  • ivyas/athena
  • arej/athena
  • thmaurin/athena-sim-flavour
  • aleksand/athena
  • npond/athena
  • lkretsch/athena
  • hluk/athena
  • jebohm/athena
  • epasqual/athena
  • dbiswas/athena
  • mbiyabi/athena
  • cvittori/athena
  • mkareem/athena
  • tslee/athena
  • mihe/athena
  • aralves/athena
  • dkoeck/anniathenafork
  • croland/athena
  • cgarvey/athena
  • rgupta/athena
  • kesedlac/athena
  • mhaacke/athena
  • ctosciri/athena-old
  • pkumari/athena
  • ctosciri/athena
  • bscheuer/athena
  • feickert/athena
  • agerwin/athena
  • gfrattar/athena
  • gwilliam/athena
  • asoflau/athena
  • ricunnin/athena
  • bdixit/masking-strip-modules
  • gtolkach/athena
  • ksudo/athena
  • jfeng2/athena
  • gaofeng/athena
  • rhiguchi/athena
  • svanstro/athena
  • kosuzuki/athena
  • vaustrup/athena
  • etoyoda/athena
  • tnakagaw/athena
  • hart/athena
  • rmizuhik/athena
  • kkanke/athena
  • amakita/athena
  • maoki/athena
  • tpaschoa/athena
  • whopkins/athena
  • miyamada/athena
  • rishikaw/athena
  • dduda/athena
  • evalient/athena
  • ferusso/athena
  • anayaz/athena
  • smweber/athena-run-3
  • aagaard/athena
  • smweber/athena
  • shudong/athena
  • evalient/athena-dnn-calculator
  • zyan/athena-muon-calib
  • zyan/athena-muon-calib-stream
  • strom/athena
  • dellacqu/athena
  • sbellman/athena
  • glagafon/project-nimber-1
  • strom/athena-dms
  • aowang/athena
  • jsallen/athena
  • brosser/athena
  • ooncel/athena
  • jhoya/athena
  • macretar/athena
  • glagafon/handi-project
  • skadir/athena-sadaf
  • leguo/athena
  • wuxi/athena
  • osotosan/athena
  • tygeorge/athena
  • syan/athena-syan
  • hasun/athena
  • glagafon/handi-project-1
  • axgallen/athena-qualification-task
  • will/athena
  • mnorfolk/athena
  • aborbely/athena
  • seinfant/athena
  • karakawa/athena
  • taogawa/athena
  • dmankad/athena-gen
  • schernau/athena
  • ktariq/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • vlysenko/athena
  • romar/athena
  • tmlinare/athena
  • agarabag/athena
  • dhagan/athena
  • ipolishc/athena
  • mahorstm/athena
  • zuzak/athena
  • ibamwidh/athena
  • tizhang/athena
  • ykhoulak/myathena
  • atishelm/athena
  • jolamber/athena
  • frfische/athena
  • yil/athena
  • jlue/athena-latest
  • xilin/athena
  • chuanye/athena
  • nkua-atlas/athena
  • huayu/athena
  • tayoshid/athena
  • dntounis/athena
  • kifarman/athena
  • movincen/athena
  • nischmit/athena
  • lderamo/athena
  • steinber/athena-main
  • dongyi/athena
  • tdingley/athena
  • hasegawa/athena
  • dtruncal/athena
  • kazheng/athena-acts
  • malvesca/athena
  • glagafon/dq-optimize
  • mnowak/athena
  • openc/athena
  • anfortma/athena
  • lcalic/athena
  • ekajomov/athena-fork-fix
  • ladamczy/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • rqian/athena
  • alveltma/athena
  • yonoda/athena
  • alpleban/athena
  • kfung/athena
  • mmaheshw/athena
  • jdavidso/athena
  • edcritel/athena
  • pebaron/athena-leprem
  • anstein/athena
  • bglik/athena
  • mfurukaw/athena
  • gbird/athena
  • midandre/athena
  • anhodges/athena
  • sokkerma/athena
  • mvivasal/athena
  • fcurcio/athena
  • asbrooks/athena
  • kyjones/athena
  • jmcgowan/athena
  • mveen/athena
  • mmlynars/athena-v-2
  • tburatov/athena
  • dmankad/athena
  • lboccard/athena
  • joroemer/athena
  • ctaybi/athena
  • ivyoung/athena
  • tayoshid/athena-test
  • jodafons/athena
  • drasslof/athena
  • sanchezj/athena-2022
  • tmclachl/athena
  • jiddon/athena
  • sdahbi/athena
  • sdemiran/athena
  • anburger/athena
  • sidoti/athena
  • fwinkel/athena
  • apfleger/athena
  • mmoors/athena
  • goblirsc/athena
  • izahir/athena
  • rvinasco/athena
  • sanchezj/athena
  • jwkraus/athena
  • esimpson/athena
  • klleras/athena
  • obut/athena
  • dta/athena_old
  • janders/athena
  • rhaberle/athena
  • jhowarth/athena
  • jchapman/athena
  • avallier/athena
  • jecouthu/athena
  • dtrischu/athena
  • mungo/athena
  • fmontere/athena
  • misantan/athena
  • fhenry/athena
  • sfuenzal/athena
  • zalegria/athena
  • zhaotong/athena
  • awharton/Athena
  • acordeir/athena-ed
  • shaoguan/athena
  • gdigrego/athena
  • pdougan/athena
  • amelo/athena
  • nbruscin/athena
  • caiy/athena
  • mkholoda/athena
  • peiyan/athena
  • kchu/athena
  • fkirfel/athena
  • gfacini/athena
  • esampson/athena-idart
  • backes/athena
  • tayoshid/athena-2024
  • bcervato/athena
  • fwinkl2/athena
  • shpeng/athena-2
  • yvolkotr/athena
  • gmascare/athena
  • gmercado/athena
  • rhowen/athena
  • esampson/athena-idart-2
  • djlewis/athena
  • nharriso/athena
  • costanzo/athena
  • esampson/athena-otp
  • pibutti/athena
  • yuematsu/athena
  • bmoser/athena
  • esampson/athena-june-otp
  • alpleban/athena-met
  • astefl/athena
  • thitchin/athena
  • wcastigl/athena
  • yilin/athena
  • bdong/athena
  • zhanhang/athena
  • sosarkar/athena-again
  • ksahan/athena
  • agheata/athena
  • msasada/athena
  • lbarrade/athena
  • txu/athena
  • seth/athena
  • robouque/athena
  • okolay/athena
  • dbaronmo/athena
  • nsurijr/athena
  • zhangbo/athena
  • mlyukova/athena
  • esampson/june-2-otp
  • damperia/athena-acts
  • martyniu/athena
  • wema/athena
  • boudreau/athena
  • bhuth/athena
  • acamplan/athena
  • eballabe/athena
  • vsasse/athena
  • bngair/met-significance-r-22
  • vkost/athena
  • ksakura/athena
  • bngair/me-tsig-athena
  • rhicks/athena
  • menadeem/athena
  • atymchys/athena
  • mwessels/athena
  • yanqiw/athena
  • linghua/athena
  • skadir/athena
  • sgoswami/athena
  • domatter/athena
  • arelycg/athena
  • juscerri/athena
  • biliu/athena
  • sosarkar/athena
  • beltran/athena
  • bdebjani/athena
  • dreikher/athena
  • hshaddix/athena
  • ddicroce/athena
  • emoon/athena
  • lwinkler/athena
  • fladias/athena
  • haren/athena
  • cleong/athena
  • elham/athena
  • sdiefenb/athena-onnx-tutorial
  • mhabedan/athena
  • nkrogh/athena
  • mads/athena
  • dwilson/athena
  • lsanfili/athena
  • fivone/athena
  • dahumphr/athena
  • thart/athena
  • scane/athena
  • kenakamu/athena
  • echerepa/athena
  • baer/athena
  • alancast/athena
  • dcamarer/athena
  • lifoster/athena
  • glagafon/aaaathena
  • glagafon/athena
  • haotianl/athena
  • eskorda/athena
  • salopez/athena
  • rshibata/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • pizhang/athena
  • ukhurshi/athena
  • rvavrick/athena
  • htsoi/athena
  • therwig/athena
  • pachabri/athena
  • mwitkows/athena
  • delitez/athena
  • lcorazzi/athena
  • jaburles/athena
  • ezaya/athena
  • casadop/athena
  • mmantina/athena
  • lmonaco/athena
  • hzhuang/athena
  • achamber/athena
  • rmole/athena
  • mamirono/athena
  • jkrupa/athena
  • rpozzi/athena
  • gserenis/athena
  • semami/athena
  • mfornasi/athena
  • fdattola/athena
  • jinglis/athena
  • belderto/athena
  • uepstein/athena
  • abesir/athena
  • ljerala/athena
  • cmavungu/athena
  • lechols/athena
  • htorre/athena
  • lopezzot/athena
  • jajohnso/athena
  • jlittle/athena
  • robouque/athena-20241115
  • wguerin/athena
  • tneep/athena
  • fsiegert/athena
  • rmole/athena-personal-fork
  • wenjingw/athena
  • lbrown/athena
  • kfang/athena-fork-kyfang
  • epompapa/athena
  • jackersc/athena
  • ashirazi/athena
  • kgrimm/athena-kgrimm
  • prmitra/athena
  • wasu/athena
  • toheintz/athena
  • aslobodk/athena
  • amoreira/athena
  • nihartma/athena
  • goetz/athena-acts
  • kdipetri/athena
  • gfazzino/athena
  • djuarezg/athena
  • muschmid/athena
  • yazhou/athena
  • falves/athena
  • alarnold/athena
  • alecrhys/athena
  • mdacunha/athena
  • rohasan/athena
  • wlai/athena
  • mborodin/athena
  • novotnyp/athena
  • adsalvad/athena
  • asickles/athena
  • lvicenik/athena
  • ibenaoum/athena
  • tflee/athena
  • zetao/athena
  • christog/athena
  • mfarzali/athena
  • ehampshi/athena
  • kkazakov/athena
  • frcastig/athena
  • llarson/athena
  • tomoya/athena-low-pt-muon-rec
  • jusilva/athena
  • pusharma/athena
  • gpinheir/athena
  • exochell/my-athena
  • hshaddix/athena-hshaddix
  • jecifuen/athena
  • mojeda/athena
  • nsur/athena-lund
  • vchabala/athena
  • jlieberm/athena
  • chhultqu/athena
  • nshtokha/athena
  • misavic/athena
  • jlai/athena
  • yuxuanz/local-athena
  • camccrac/athena
  • akraus/athena
  • pmourafr/athena
  • yukari/athena
  • sizumiya/athena
  • zhubacek/athena
  • sawyer/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • mfilipig/athena
  • mnegrini/athena
  • zrokavec/athena
  • fdejean/athena
  • rkavak/athena
  • gipoddar/athena
  • ssuravar/athena
  • vpires/athena-vasco
  • beyeo/athena
  • gsalvi/athena
  • sutuncay/athena
  • mtancock/athena-2
  • ywng/athena
  • fballi/athena
  • ndiasper/athena
  • stlin/athena
  • hadavand/athena
1578 results
Show changes
Showing
with 280 additions and 831 deletions
/* /*
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 BeamPipeDetectorManager_h #ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORMANAGER_H
#define BeamPipeDetectorManager_h 1 #define BEAMPIPEGEOMODEL_BEAMPIPEDETECTORMANAGER_H
#include "GeoModelKernel/GeoVPhysVol.h" #include "GeoModelKernel/GeoVPhysVol.h"
#include "GeoModelKernel/GeoVDetectorManager.h" #include "GeoModelKernel/GeoVDetectorManager.h"
...@@ -27,7 +27,7 @@ class BeamPipeDetectorManager : public GeoVDetectorManager ...@@ -27,7 +27,7 @@ class BeamPipeDetectorManager : public GeoVDetectorManager
virtual PVConstLink getTreeTop(unsigned int i) const; virtual PVConstLink getTreeTop(unsigned int i) const;
// Add a Tree top: // Add a Tree top:
void addTreeTop(PVConstLink); void addTreeTop(const PVConstLink&);
private: private:
...@@ -35,7 +35,6 @@ class BeamPipeDetectorManager : public GeoVDetectorManager ...@@ -35,7 +35,6 @@ class BeamPipeDetectorManager : public GeoVDetectorManager
BeamPipeDetectorManager(const BeamPipeDetectorManager &right); BeamPipeDetectorManager(const BeamPipeDetectorManager &right);
std::vector<PVConstLink> m_volume; std::vector<PVConstLink> m_volume;
}; };
#ifndef GAUDI_NEUTRAL #ifndef GAUDI_NEUTRAL
......
/* /*
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 "BeamPipeDetectorFactory.h" #include "BeamPipeDetectorFactory.h"
...@@ -33,16 +33,15 @@ ...@@ -33,16 +33,15 @@
BeamPipeDetectorFactory::BeamPipeDetectorFactory(StoreGateSvc *detStore, BeamPipeDetectorFactory::BeamPipeDetectorFactory(StoreGateSvc *detStore,
IRDBAccessSvc *pAccess) IRDBAccessSvc *pAccess)
:m_detectorManager(0), :m_detectorManager(nullptr),
m_materialManager(0), m_materialManager(nullptr),
m_detectorStore(detStore), m_detectorStore(detStore),
m_access(pAccess), m_access(pAccess),
m_centralRegionZMax(1500*Gaudi::Units::mm) m_centralRegionZMax(1500*Gaudi::Units::mm)
{} {}
BeamPipeDetectorFactory::~BeamPipeDetectorFactory() BeamPipeDetectorFactory::~BeamPipeDetectorFactory()
{ = default;
}
void BeamPipeDetectorFactory::create(GeoPhysVol *world) void BeamPipeDetectorFactory::create(GeoPhysVol *world)
{ {
...@@ -163,7 +162,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -163,7 +162,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
// Sections 2 & 3 are placed in section 1. // Sections 2 & 3 are placed in section 1.
// pvMotherSection will point to section 1. // pvMotherSection will point to section 1.
GeoPhysVol* pvMotherSection = 0; GeoPhysVol* pvMotherSection = nullptr;
bool addToFirstSection = true; bool addToFirstSection = true;
double rminSec1 = 0; double rminSec1 = 0;
double rmaxSec1 = 0; double rmaxSec1 = 0;
...@@ -234,7 +233,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -234,7 +233,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
} }
const GeoMaterial* mat = m_materialManager->getMaterial(material); const GeoMaterial* mat = m_materialManager->getMaterial(material);
if (mat == 0) { if (mat == nullptr) {
// For backward compatibility - older geometry versions didn't specify the // For backward compatibility - older geometry versions didn't specify the
// material namespace // material namespace
// std::cout << "Material """ << material << """ not found. Trying std::" << material << std::endl; // std::cout << "Material """ << material << """ not found. Trying std::" << material << std::endl;
...@@ -242,8 +241,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -242,8 +241,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
} }
GeoLogVol* lvSection = new GeoLogVol(name,shape,mat); GeoLogVol* lvSection = new GeoLogVol(name,shape,mat);
GeoPhysVol* pvSection = new GeoPhysVol(lvSection); GeoIntrusivePtr<GeoPhysVol> pvSection{new GeoPhysVol(lvSection)};
pvSection->ref();
// Determine if this is a geometry where the first section can act as the mother of the following // Determine if this is a geometry where the first section can act as the mother of the following
// sections. The following sections are only added to this if their ave radius is within the radial // sections. The following sections are only added to this if their ave radius is within the radial
...@@ -264,10 +262,9 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -264,10 +262,9 @@ 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)); if (znew != 0 && (secNum==1 || !addToFirstSection)) tfSection = new GeoTransform(GeoTrf::TranslateZ3D(znew));
GeoNameTag* ntSection = new GeoNameTag(name); GeoIntrusivePtr<GeoNameTag> ntSection{new GeoNameTag(name)};
ntSection->ref();
if (addToFirstSection && secNum!=1) { if (addToFirstSection && secNum!=1) {
if (!pvMotherSection) { if (!pvMotherSection) {
...@@ -289,7 +286,7 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -289,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 // Not needed, but just in case in the future we have +/- sections in central region
if(central && z!=0.) { if(central && z!=0.) {
// add rotated section as well // add rotated section as well
GeoTransform* tfSectionRot = 0; GeoTransform* tfSectionRot = nullptr;
if (isTube) { if (isTube) {
// No need for rotation. // No need for rotation.
tfSectionRot = new GeoTransform(GeoTrf::TranslateZ3D(-znew)); tfSectionRot = new GeoTransform(GeoTrf::TranslateZ3D(-znew));
...@@ -302,8 +299,6 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region) ...@@ -302,8 +299,6 @@ void BeamPipeDetectorFactory::addSections(GeoPhysVol* parent, int region)
parent->add(pvSection); parent->add(pvSection);
} }
pvSection->unref();
ntSection->unref();
} }
} }
...@@ -340,16 +335,16 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope) ...@@ -340,16 +335,16 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope)
} }
double rFwd = 0; double rFwd = 0;
if (fwdEntry.size()) { if (!fwdEntry.empty()) {
rFwd = fwdEntry[0].r(); rFwd = fwdEntry[0].r();
} else if (centralEntry.size()) { } else if (!centralEntry.empty()) {
rFwd = centralEntry[0].r(); rFwd = centralEntry[0].r();
} else { } else {
std::cout << "Unexpected condition when building beam pipe." << std::endl; std::cout << "Unexpected condition when building beam pipe." << std::endl;
} }
// central // central
if (centralEntry.size() == 0) { if (centralEntry.empty()) {
envelopes.centralShape = new GeoTube(0, rFwd, m_centralRegionZMax); envelopes.centralShape = new GeoTube(0, rFwd, m_centralRegionZMax);
} else { } else {
// This case probably will never get used and is untested. // This case probably will never get used and is untested.
...@@ -375,7 +370,7 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope) ...@@ -375,7 +370,7 @@ BeamPipeDetectorFactory::makeEnvelope(const IRDBRecordset_ptr& bpipeEnvelope)
{ {
GeoRef<GeoPcon> pcone (new GeoPcon(0, 360*Gaudi::Units::deg)); GeoRef<GeoPcon> pcone (new GeoPcon(0, 360*Gaudi::Units::deg));
pcone->addPlane(m_centralRegionZMax,0,rFwd); pcone->addPlane(m_centralRegionZMax,0,rFwd);
if (fwdEntry.size() == 0) { if (fwdEntry.empty()) {
// Unlikely case but for completeness // Unlikely case but for completeness
// we make small fwd region if everything is in central region. // we make small fwd region if everything is in central region.
pcone->addPlane(m_centralRegionZMax+0.1*Gaudi::Units::mm,0,rFwd); 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 #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 #ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORFACTORY_LITE_H
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
#include "GeoModelKernel/GeoVDetectorFactory.h" #include "GeoModelKernel/GeoVDetectorFactory.h"
#include "BeamPipeGeoModel/BeamPipeDetectorManager.h" #include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
#include <string>
class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory
{ {
...@@ -23,16 +21,13 @@ class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory ...@@ -23,16 +21,13 @@ class BeamPipeDetectorFactory_Lite final : public GeoVDetectorFactory
// Access to the results: // Access to the results:
virtual const BeamPipeDetectorManager * getDetectorManager() const override; 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: private:
// Illegal operations:
const BeamPipeDetectorFactory_Lite & operator=(const BeamPipeDetectorFactory_Lite &right);
BeamPipeDetectorFactory_Lite(const BeamPipeDetectorFactory_Lite &right);
// The manager: // The manager:
BeamPipeDetectorManager * m_manager; BeamPipeDetectorManager* m_manager{nullptr};
}; };
// Class BeamPipeDetectorFactory_Lite // Class BeamPipeDetectorFactory_Lite
......
/* /*
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 "BeamPipeGeoModel/BeamPipeDetectorManager.h" #include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
...@@ -10,13 +10,7 @@ BeamPipeDetectorManager::BeamPipeDetectorManager() ...@@ -10,13 +10,7 @@ BeamPipeDetectorManager::BeamPipeDetectorManager()
} }
BeamPipeDetectorManager::~BeamPipeDetectorManager() BeamPipeDetectorManager::~BeamPipeDetectorManager() = default;
{
for (unsigned int i = 0; i < m_volume.size(); i++) {
m_volume[i]->unref();
}
}
unsigned int BeamPipeDetectorManager::getNumTreeTops() const unsigned int BeamPipeDetectorManager::getNumTreeTops() const
{ {
...@@ -28,9 +22,8 @@ PVConstLink BeamPipeDetectorManager::getTreeTop(unsigned int i) const ...@@ -28,9 +22,8 @@ PVConstLink BeamPipeDetectorManager::getTreeTop(unsigned int i) const
return m_volume[i]; return m_volume[i];
} }
void BeamPipeDetectorManager::addTreeTop(PVConstLink vol) void BeamPipeDetectorManager::addTreeTop(const PVConstLink& vol)
{ {
vol->ref();
m_volume.push_back(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 "BeamPipeDetectorTool.h"
#include "BeamPipeDetectorFactory.h" #include "BeamPipeDetectorFactory.h"
#include "BeamPipeDetectorFactory_Lite.h" #include "BeamPipeDetectorFactory_Lite.h"
#include "BeamPipeGeoModel/BeamPipeDetectorManager.h" #include "BeamPipeGeoModel/BeamPipeDetectorManager.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h" #include "GeoModelInterfaces/IGeoDbTagSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h" #include "GeoModelUtilities/GeoModelExperiment.h"
#include "GaudiKernel/IService.h" #include "GaudiKernel/IService.h"
#include "GaudiKernel/ISvcLocator.h" #include "GaudiKernel/ISvcLocator.h"
#include "GaudiKernel/MsgStream.h"
#include "StoreGate/StoreGateSvc.h" #include "StoreGate/StoreGateSvc.h"
...@@ -21,95 +20,65 @@ ...@@ -21,95 +20,65 @@
#include "GeoModelKernel/GeoVolumeCursor.h" #include "GeoModelKernel/GeoVolumeCursor.h"
BeamPipeDetectorTool::BeamPipeDetectorTool( const std::string& type, BeamPipeDetectorTool::BeamPipeDetectorTool( const std::string& type,
const std::string& name, const std::string& name,
const IInterface* parent ): const IInterface* parent ):
GeoModelTool(type,name,parent), GeoModelTool(type,name,parent)
m_manager(0),
m_mode("BeamPipe")
{ {
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() StatusCode BeamPipeDetectorTool::create()
{ {
MsgStream log(msgSvc(), name()); ATH_MSG_INFO("Building Beam Pipe");
log << MSG::INFO << "Building Beam Pipe" << endmsg;
IGeoDbTagSvc *geoDbTag; SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service("GeoDbTagSvc")};
StatusCode sc = service ("GeoDbTagSvc",geoDbTag); ATH_CHECK(geoDbTag.isValid());
if (sc.isFailure()) {
log << MSG::FATAL << "Could not locate GeoDbTagSvc" << endmsg;
return StatusCode::FAILURE;
}
std::string atlasVersion = geoDbTag->atlasVersion(); std::string atlasVersion = geoDbTag->atlasVersion();
if(atlasVersion == "AUTO")
atlasVersion = "ATLAS-00";
std::string versionNode = "ATLAS"; std::string versionNode = "ATLAS";
GeoModelExperiment * theExpt; GeoModelExperiment* theExpt{nullptr};
if (StatusCode::SUCCESS != detStore()->retrieve( theExpt, "ATLAS" )) { ATH_CHECK(detStore()->retrieve(theExpt, "ATLAS"));
log << MSG::ERROR
<< "Could not find GeoModelExperiment ATLAS" GeoPhysVol* world=theExpt->getPhysVol();
<< endmsg;
return (StatusCode::FAILURE);
}
if ( 0 == m_detector )
{
GeoPhysVol *world=&*theExpt->getPhysVol();
ServiceHandle<IRDBAccessSvc> accessSvc(geoDbTag->getParamSvcName(),name());
ATH_CHECK( accessSvc.retrieve());
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(); m_manager = theBeamPipeFactory.getDetectorManager();
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;
}
} }
}
if (m_manager) {
theExpt->addManager(m_manager);
ATH_CHECK(detStore()->record(m_manager,m_manager->getName()));
return StatusCode::SUCCESS;
}
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
...@@ -118,7 +87,7 @@ StatusCode BeamPipeDetectorTool::clear() ...@@ -118,7 +87,7 @@ StatusCode BeamPipeDetectorTool::clear()
SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<BeamPipeDetectorManager>::ID(),m_manager->getName()); SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<BeamPipeDetectorManager>::ID(),m_manager->getName());
if(proxy) { if(proxy) {
proxy->reset(); proxy->reset();
m_manager = 0; m_manager = nullptr;
} }
return StatusCode::SUCCESS; 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 #ifndef BEAMPIPEGEOMODEL_BEAMPIPEDETECTORTOOL_H
#define BEAMPIPEDETECTORTOOL_H #define BEAMPIPEGEOMODEL_BEAMPIPEDETECTORTOOL_H
#include "GeoModelUtilities/GeoModelTool.h" #include "GeoModelUtilities/GeoModelTool.h"
class BeamPipeDetectorManager; class BeamPipeDetectorManager;
...@@ -20,9 +20,13 @@ class BeamPipeDetectorTool final : public GeoModelTool ...@@ -20,9 +20,13 @@ class BeamPipeDetectorTool final : public GeoModelTool
virtual StatusCode create() override final; virtual StatusCode create() override final;
virtual StatusCode clear() override final; virtual StatusCode clear() override final;
private: private:
const BeamPipeDetectorManager* m_manager; const BeamPipeDetectorManager* m_manager{nullptr};
std::string m_mode; StringProperty m_mode{this
, "BeamPipeMode"
, "BeamPipe"
, "Two modes: 'BeamPipe' default, 'AssemblyBeamPipe' activates implementation based on assembly volume"};
}; };
#endif #endif
# Copyright (C) 2002-, 20222022 CERN for the benefit of the ATLAS collaboration # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# Declare the package name: # Declare the package name:
atlas_subdir( CavernInfraGeoModel ) atlas_subdir( CavernInfraGeoModel )
......
/* /*
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 CavernInfraDetectorFactory_h #ifndef CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORFACTORY_H
#define CavernInfraDetectorFactory_h 1 #define CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORFACTORY_H
#include "GeoModelKernel/GeoVDetectorFactory.h"
#include "CavernInfraDetectorManager.h" #include "CavernInfraDetectorManager.h"
#include "GeoModelKernel/GeoVDetectorFactory.h"
#include "StoreGate/StoreGateSvc.h"
#include "RDBAccessSvc/IRDBAccessSvc.h" #include "RDBAccessSvc/IRDBAccessSvc.h"
#include <string>
class StoreGateSvc; #include <string>
class CavernInfraDetectorFactory : public GeoVDetectorFactory class CavernInfraDetectorFactory : public GeoVDetectorFactory
{ {
public: public:
// Constructor: // Constructor:
CavernInfraDetectorFactory(StoreGateSvc *pDetStore, CavernInfraDetectorFactory(ServiceHandle<StoreGateSvc> pDetStore,
IRDBAccessSvc *pAccess); ServiceHandle<IRDBAccessSvc> pAccess);
// Illegal operations:
const CavernInfraDetectorFactory & operator=(const CavernInfraDetectorFactory &right) = delete;
CavernInfraDetectorFactory(const CavernInfraDetectorFactory &right) = delete;
// Destructor: // Destructor:
~CavernInfraDetectorFactory(); ~CavernInfraDetectorFactory() = default;
// Creation of geometry: // Creation of geometry:
virtual void create(GeoPhysVol *world); virtual void create(GeoPhysVol *world) override;
// Access to the results: // Access to the results:
virtual const CavernInfraDetectorManager * getDetectorManager() const; virtual const CavernInfraDetectorManager* getDetectorManager() const override;
// Set version Tag and Node // Set version Tag and Node
void setTagNode(const std::string& tag, const std::string& node); void setTagNode(const std::string& tag, const std::string& node);
private: private:
// Illegal operations:
const CavernInfraDetectorFactory & operator=(const CavernInfraDetectorFactory &right);
CavernInfraDetectorFactory(const CavernInfraDetectorFactory &right);
// The manager: // The manager:
CavernInfraDetectorManager *m_detectorManager; CavernInfraDetectorManager* m_detectorManager{nullptr};
StoreGateSvc *m_detectorStore; ServiceHandle<StoreGateSvc> m_detectorStore;
IRDBAccessSvc *m_access; ServiceHandle<IRDBAccessSvc> m_access;
std::string m_versionTag; std::string m_versionTag;
std::string m_versionNode; std::string m_versionNode;
}; };
// Class CavernInfraDetectorFactory // Class CavernInfraDetectorFactory
#endif #endif
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
*/
#ifndef CavernInfraDetectorFactory01_h
#define CavernInfraDetectorFactory01_h 1
#include "GeoModelKernel/GeoVDetectorFactory.h"
#include "CavernInfraDetectorManager.h"
#include "RDBAccessSvc/IRDBAccessSvc.h"
#include <string>
class StoreGateSvc;
class CavernInfraDetectorFactory01 : public GeoVDetectorFactory
{
public:
// Constructor:
CavernInfraDetectorFactory01(StoreGateSvc *pDetStore,
IRDBAccessSvc *pAccess);
// Destructor:
~CavernInfraDetectorFactory01();
// Creation of geometry:
virtual void create(GeoPhysVol *world);
// Access to the results:
virtual const CavernInfraDetectorManager * getDetectorManager() const;
// Set version Tag and Node
void setTagNode(const std::string& tag, const std::string& node);
private:
// Illegal operations:
const CavernInfraDetectorFactory01 & operator=(const CavernInfraDetectorFactory01 &right);
CavernInfraDetectorFactory01(const CavernInfraDetectorFactory01 &right);
// The manager:
CavernInfraDetectorManager *m_detectorManager;
StoreGateSvc *m_detectorStore;
IRDBAccessSvc *m_access;
std::string m_versionTag;
std::string m_versionNode;
};
// Class CavernInfraDetectorFactory01
#endif
/* /*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/ */
#include "CavernInfraDetectorManager.h" #include "CavernInfraDetectorManager.h"
...@@ -10,11 +10,7 @@ CavernInfraDetectorManager::CavernInfraDetectorManager() ...@@ -10,11 +10,7 @@ CavernInfraDetectorManager::CavernInfraDetectorManager()
} }
CavernInfraDetectorManager::~CavernInfraDetectorManager() CavernInfraDetectorManager::~CavernInfraDetectorManager() = default;
{
for(unsigned int i=0; i<m_treeTops.size(); i++)
m_treeTops[i]->unref();
}
unsigned int CavernInfraDetectorManager::getNumTreeTops() const unsigned int CavernInfraDetectorManager::getNumTreeTops() const
...@@ -27,12 +23,11 @@ PVConstLink CavernInfraDetectorManager::getTreeTop(unsigned int i) const ...@@ -27,12 +23,11 @@ PVConstLink CavernInfraDetectorManager::getTreeTop(unsigned int i) const
if(i<m_treeTops.size()) if(i<m_treeTops.size())
return m_treeTops[i]; return m_treeTops[i];
else else
return 0; return nullptr;
} }
void CavernInfraDetectorManager::addTreeTop(PVLink link) void CavernInfraDetectorManager::addTreeTop(const PVLink& link)
{ {
link->ref();
m_treeTops.push_back(link); m_treeTops.push_back(link);
} }
/* /*
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 CavernInfraDetectorManager_h #ifndef CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORMANAGER_H
#define CavernInfraDetectorManager_h 1 #define CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORMANAGER_H
#include "GeoModelKernel/GeoVPhysVol.h" #include "GeoModelKernel/GeoVPhysVol.h"
#include "GeoModelKernel/GeoVDetectorManager.h" #include "GeoModelKernel/GeoVDetectorManager.h"
#include <vector> #include <vector>
class CavernInfraDetectorManager : public GeoVDetectorManager class CavernInfraDetectorManager : public GeoVDetectorManager
{ {
public: public:
// Constructor
CavernInfraDetectorManager(); CavernInfraDetectorManager();
// Destructor const CavernInfraDetectorManager & operator=(const CavernInfraDetectorManager &right) = delete;
CavernInfraDetectorManager(const CavernInfraDetectorManager &right) = delete;
~CavernInfraDetectorManager(); ~CavernInfraDetectorManager();
// Access to raw geometry: // Access to raw geometry:
virtual unsigned int getNumTreeTops() const; virtual unsigned int getNumTreeTops() const override;
virtual PVConstLink getTreeTop(unsigned int i) const; virtual PVConstLink getTreeTop(unsigned int i) const override;
void addTreeTop(PVLink); // Add a Tree top:
private: void addTreeTop(const PVLink&); // Add a Tree top:
const CavernInfraDetectorManager & operator=(const CavernInfraDetectorManager &right); private:
CavernInfraDetectorManager(const CavernInfraDetectorManager &right);
// Tree Tops // Tree Tops
std::vector<PVLink> m_treeTops; std::vector<PVLink> m_treeTops;
}; };
#ifndef GAUDI_NEUTRAL #ifndef GAUDI_NEUTRAL
#include "AthenaKernel/CLASS_DEF.h" #include "AthenaKernel/CLASS_DEF.h"
CLASS_DEF(CavernInfraDetectorManager, 1500000300, 1) CLASS_DEF(CavernInfraDetectorManager, 1500000300, 1)
#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
*/ */
#include "CavernInfraDetectorTool.h" #include "CavernInfraDetectorTool.h"
#include "CavernInfraDetectorFactory.h" #include "CavernInfraDetectorFactory.h"
#include "CavernInfraDetectorFactory01.h" #include "CavernInfraDetectorManager.h"
#include "CavernInfraDetectorManager.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h" #include "GeoModelInterfaces/IGeoDbTagSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h" #include "GeoModelUtilities/GeoModelExperiment.h"
#include "RDBAccessSvc/IRDBAccessSvc.h" #include "RDBAccessSvc/IRDBAccessSvc.h"
CavernInfraDetectorTool::CavernInfraDetectorTool( const std::string& type, CavernInfraDetectorTool::CavernInfraDetectorTool( const std::string& type,
const std::string& name, const std::string& name,
const IInterface* parent ) const IInterface* parent )
: GeoModelTool( type, name, parent ), : GeoModelTool( type, name, parent )
m_manager(0)
{ {
} }
CavernInfraDetectorTool::~CavernInfraDetectorTool()
{
}
StatusCode CavernInfraDetectorTool::create() StatusCode CavernInfraDetectorTool::create()
{ {
IGeoDbTagSvc *geoDbTag; ServiceHandle<IGeoDbTagSvc> geoDbTag("GeoDbTagSvc", name());
StatusCode sc = service ("GeoDbTagSvc",geoDbTag); ATH_CHECK(geoDbTag.retrieve());
if(sc.isFailure()) {
msg(MSG::ERROR) << "Could not locate GeoDbTagSvc" << endmsg;
return sc;
}
std::string cavernInfraVersion = geoDbTag->cavernInfraVersion(); std::string cavernInfraVersion = geoDbTag->cavernInfraVersion();
msg(MSG::INFO) << "Building Cavern geometry version " << cavernInfraVersion << endmsg;
if(cavernInfraVersion.empty()) { if(cavernInfraVersion.empty()) {
msg(MSG::INFO) << "No Cavern Infra version for the given configuration. Skip building CavernInfraGeoModel" << endmsg; ATH_MSG_INFO("No Cavern Infra version for the given configuration. Skip building CavernInfraGeoModel");
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
else {
ATH_MSG_INFO("Building Cavern geometry version " << cavernInfraVersion);
}
std::string versionNode = "CavernInfra"; std::string versionNode = "CavernInfra";
GeoModelExperiment* theExpt = nullptr; GeoModelExperiment* theExpt = nullptr;
if (StatusCode::SUCCESS != detStore()->retrieve(theExpt,"ATLAS")) { ATH_CHECK(detStore()->retrieve(theExpt,"ATLAS"));
msg(MSG::ERROR) << "Could not find GeoModelExperiment ATLAS" << endmsg;
return StatusCode::FAILURE;
}
GeoPhysVol *world=&*theExpt->getPhysVol();
IRDBAccessSvc* raccess = 0;
sc = service("RDBAccessSvc",raccess);
if(sc.isFailure()) {
msg(MSG::ERROR) << "Could not locate RDBAccessSvc" << endmsg;
return sc;
}
if (cavernInfraVersion.rfind("CavernInfra",0) == 0) { //starts with "CavernInfra" GeoPhysVol *world=theExpt->getPhysVol();
std::string geoVersion = cavernInfraVersion.substr(12,2); ServiceHandle<IRDBAccessSvc> raccess("RDBAccessSvc",name());
if(geoVersion=="00" || geoVersion=="01") { ATH_CHECK(raccess.retrieve());
msg(MSG::ERROR) << "ERROR. Version " << cavernInfraVersion << " is obsolete and cannot be supported anymore" << endmsg;
return StatusCode::FAILURE;
}
else if(geoVersion=="02") {
// This factory is chosen by CavernInfra-02 tag, but in fact it uses data from CavernInfra-01
CavernInfraDetectorFactory01 theCavernInfraFactory01(detStore().operator->(),raccess);
theCavernInfraFactory01.setTagNode(cavernInfraVersion,versionNode);
theCavernInfraFactory01.create(world);
m_manager = theCavernInfraFactory01.getDetectorManager();
}
}
if(!m_manager) { if(!m_manager) {
// If geometry has not been built yet fall back to the default factory CavernInfraDetectorFactory theCavernInfraFactory(detStore(),raccess);
CavernInfraDetectorFactory theCavernInfraFactory(detStore().operator->(),raccess);
theCavernInfraFactory.setTagNode(cavernInfraVersion,versionNode); theCavernInfraFactory.setTagNode(cavernInfraVersion,versionNode);
theCavernInfraFactory.create(world); theCavernInfraFactory.create(world);
m_manager = theCavernInfraFactory.getDetectorManager(); m_manager = theCavernInfraFactory.getDetectorManager();
...@@ -82,15 +50,10 @@ StatusCode CavernInfraDetectorTool::create() ...@@ -82,15 +50,10 @@ StatusCode CavernInfraDetectorTool::create()
if(m_manager) { if(m_manager) {
theExpt->addManager(m_manager); theExpt->addManager(m_manager);
sc = detStore()->record(m_manager, ATH_CHECK(detStore()->record(m_manager,m_manager->getName()));
m_manager->getName());
if(sc.isFailure()) {
msg(MSG::ERROR) << "Could not register CavernInfra detector manager" << endmsg;
return sc;
}
} }
else { else {
msg(MSG::ERROR) << "ERROR. Failed to build Cavern Version " << cavernInfraVersion << endmsg; ATH_MSG_ERROR("ERROR. Failed to build Cavern Version " << cavernInfraVersion);
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
...@@ -102,7 +65,7 @@ StatusCode CavernInfraDetectorTool::clear() ...@@ -102,7 +65,7 @@ StatusCode CavernInfraDetectorTool::clear()
SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<CavernInfraDetectorManager>::ID(),m_manager->getName()); SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<CavernInfraDetectorManager>::ID(),m_manager->getName());
if(proxy) { if(proxy) {
proxy->reset(); proxy->reset();
m_manager = 0; m_manager = nullptr;
} }
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
......
/* /*
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 CAVERNINFRADETECTORTOOL_H #ifndef CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORTOOL_H
#define CAVERNINFRADETECTORTOOL_H #define CAVERNINFRAGEOMODEL_CAVERNINFRADETECTORTOOL_H
#include "GeoModelUtilities/GeoModelTool.h" #include "GeoModelUtilities/GeoModelTool.h"
class CavernInfraDetectorManager; class CavernInfraDetectorManager;
class CavernInfraDetectorTool final : public GeoModelTool class CavernInfraDetectorTool final : public GeoModelTool
{ {
public: public:
// Standard Constructor
CavernInfraDetectorTool( const std::string& type, const std::string& name, const IInterface* parent ); CavernInfraDetectorTool( const std::string& type, const std::string& name, const IInterface* parent );
~CavernInfraDetectorTool() = default;
// Standard Destructor virtual StatusCode create() override;
virtual ~CavernInfraDetectorTool() override final; virtual StatusCode clear() override;
virtual StatusCode create() override final;
virtual StatusCode clear() override final;
private: private:
const CavernInfraDetectorManager* m_manager; const CavernInfraDetectorManager* m_manager{nullptr};
}; };
#endif #endif
...@@ -9,6 +9,7 @@ find_package( GeoModel COMPONENTS GeoModelKernel GeoModelDBManager GeoModelRead) ...@@ -9,6 +9,7 @@ find_package( GeoModel COMPONENTS GeoModelKernel GeoModelDBManager GeoModelRead)
atlas_add_library( CrackRegionGeoModel atlas_add_library( CrackRegionGeoModel
src/*.cxx src/*.cxx
PUBLIC_HEADERS CrackRegionGeoModel PUBLIC_HEADERS CrackRegionGeoModel
INCLUDE_DIRS ${GEOMODEL_INCLUDE_DIRS}
LINK_LIBRARIES ${GEOMODEL_LIBRARIES} LINK_LIBRARIES ${GEOMODEL_LIBRARIES}
PRIVATE_LINK_LIBRARIES GaudiKernel GeoModelUtilities StoreGateLib RDBAccessSvcLib ) PRIVATE_LINK_LIBRARIES GaudiKernel GeoModelUtilities StoreGateLib RDBAccessSvcLib )
...@@ -10,4 +10,5 @@ find_package( GeoModel COMPONENTS GeoModelKernel ) ...@@ -10,4 +10,5 @@ find_package( GeoModel COMPONENTS GeoModelKernel )
atlas_add_component( GeoModelEnvelopes atlas_add_component( GeoModelEnvelopes
src/*.cxx src/*.cxx
src/components/*.cxx src/components/*.cxx
INCLUDE_DIRS ${GEOMODEL_INCLUDE_DIRS}
LINK_LIBRARIES ${GEOMODEL_LIBRARIES} AthenaKernel GaudiKernel GeoModelInterfaces GeoModelUtilities SGTools StoreGateLib ) LINK_LIBRARIES ${GEOMODEL_LIBRARIES} AthenaKernel GaudiKernel GeoModelInterfaces GeoModelUtilities SGTools StoreGateLib )
/* /*
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 #ifndef ForDetEnvelopeManager_h
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include <vector> #include <vector>
class ForDetEnvelopeManager : public GeoVDetectorManager class ForDetEnvelopeManager : public GeoVDetectorManager
{ {
public: public:
...@@ -22,19 +22,19 @@ class ForDetEnvelopeManager : public GeoVDetectorManager ...@@ -22,19 +22,19 @@ class ForDetEnvelopeManager : public GeoVDetectorManager
// Access to raw geometry: // Access to raw geometry:
virtual unsigned int getNumTreeTops() const; virtual unsigned int getNumTreeTops() const;
// Access to raw geometry: // Access to raw geometry:
virtual PVConstLink getTreeTop(unsigned int i) const; virtual PVConstLink getTreeTop(unsigned int i) const;
// Add a Tree top: // Add a Tree top:
void addTreeTop(PVLink); void addTreeTop(const PVLink&);
private: private:
const ForDetEnvelopeManager & operator=(const ForDetEnvelopeManager &right); const ForDetEnvelopeManager & operator=(const ForDetEnvelopeManager &right);
ForDetEnvelopeManager(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 "ForDetEnvelopeFactory.h"
#include "GeoModelInterfaces/StoredMaterialManager.h" #include "GeoModelInterfaces/StoredMaterialManager.h"
#include "GeoModelKernel/GeoMaterial.h" #include "GeoModelKernel/GeoMaterial.h"
#include "GeoModelKernel/GeoTube.h" #include "GeoModelKernel/GeoTube.h"
#include "GeoModelKernel/GeoLogVol.h" #include "GeoModelKernel/GeoLogVol.h"
#include "GeoModelKernel/GeoNameTag.h" #include "GeoModelKernel/GeoNameTag.h"
#include "GeoModelKernel/GeoPhysVol.h" #include "GeoModelKernel/GeoPhysVol.h"
#include "GeoModelKernel/GeoShapeShift.h" #include "GeoModelKernel/GeoShapeShift.h"
#include "GeoModelKernel/GeoShapeUnion.h" #include "GeoModelKernel/GeoShapeUnion.h"
#include "StoreGate/StoreGateSvc.h" #include "StoreGate/StoreGateSvc.h"
...@@ -20,23 +20,20 @@ ...@@ -20,23 +20,20 @@
ForDetEnvelopeFactory::ForDetEnvelopeFactory(StoreGateSvc *detStore) ForDetEnvelopeFactory::ForDetEnvelopeFactory(StoreGateSvc *detStore)
: m_detectorManager(0), : m_detectorManager(nullptr),
m_materialManager(0), m_materialManager(nullptr),
m_detectorStore(detStore) m_detectorStore(detStore)
{ {
} }
ForDetEnvelopeFactory::~ForDetEnvelopeFactory()
{
}
void ForDetEnvelopeFactory::create(GeoPhysVol *world) void ForDetEnvelopeFactory::create(GeoPhysVol *world)
{ {
if (StatusCode::SUCCESS != m_detectorStore->retrieve(m_materialManager, std::string("MATERIALS"))) { if (StatusCode::SUCCESS != m_detectorStore->retrieve(m_materialManager, std::string("MATERIALS"))) {
return; return;
} }
// Get the materials // Get the materials
const GeoMaterial* air = m_materialManager->getMaterial("std::Air"); const GeoMaterial* air = m_materialManager->getMaterial("std::Air");
// Build boolean shape: union of two tubes // Build boolean shape: union of two tubes
...@@ -47,7 +44,7 @@ void ForDetEnvelopeFactory::create(GeoPhysVol *world) ...@@ -47,7 +44,7 @@ void ForDetEnvelopeFactory::create(GeoPhysVol *world)
const GeoShapeShift& envShape1 = (*tube1)<<xfRelativeA; const GeoShapeShift& envShape1 = (*tube1)<<xfRelativeA;
const GeoShapeUnion& envShape = envShape1.add((*tube2)<<xfRelativeC); const GeoShapeUnion& envShape = envShape1.add((*tube2)<<xfRelativeC);
GeoLogVol* lvEnv = new GeoLogVol("ForDetEnvelope",&envShape,air); GeoLogVol* lvEnv = new GeoLogVol("ForDetEnvelope",&envShape,air);
GeoPhysVol* pvEnv = new GeoPhysVol(lvEnv); GeoPhysVol* pvEnv = new GeoPhysVol(lvEnv);
......