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
  • 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
  • hdf5-utils/athena
  • gtateno/athena
  • pavel/athena
  • reznicek/athena
  • jcordeir/athena
  • herrmant/athena
  • xuh/athena
  • aburke/athena
  • averbyts/athena
  • lmcelhin/athena
  • jiling/athena
  • tvazquez/athena
  • tnommens/athena
  • gascott/athena
  • ewallin/athena
  • shbansal/athena
  • corentin/athena
  • yuhui/athena
  • miochoa/athena
  • ccaminch/athena
  • msykora/athena
  • berkeleylab/CharmPhysics/athena
  • hfox/athena
  • madurano/athena_gittutorial
  • lserkin/athena
  • cdiez/athena
  • cpollard/athena
  • calfayan/athena
  • ckirfel/athena
  • jakoubek/athena
  • atlas/athena
  • toshi/athena
  • kjohns/athena
  • aundrus/athena
  • akraszna/athena
  • karolos/athena
  • dguest/athena
  • fwinkl/athena
  • jmontejo/athena
  • wlampl/athena
  • damazio/athena
  • okuprash/athena
  • gemmeren/athena
  • rhauser/athena
  • smh/athena
  • turra/athena
  • ssnyder/athena
  • tdado/athena
  • phwindis/athena
  • tadej/athena
  • wwalko/athena
  • abuckley/athena
  • arnaez/athena
  • emoyse/athena
  • jmasik/athena
  • pjacka/athena
  • baines/athena
  • tamartin/athena
  • mmuskinj/athena
  • pgadow/athena
  • tbold/athena
  • mhodgkin/athena
  • solodkov/athena
  • psommer/athena
  • nstyles/athena
  • mark/athena
  • bwynne/athena
  • rbielski/athena
  • rbianchi/athena
  • dcasper/athena
  • tstreble/athena
  • graemes/athena
  • mrybar/athena
  • sshaw/athena
  • ATLAS-EGamma/athena
  • shlomit/athena
  • ychiu/athena
  • hartj/athena
  • christos/athena
  • yuxu/athena
  • jcatmore/athena
  • toyamaza/athena
  • yoyamagu/athena
  • ebuschma/athena
  • gunal/athena
  • nikiforo/athena
  • ewelina/athena
  • ligang/athena
  • fpastore/athena
  • harkusha/athena
  • almaloiz/athena
  • sroe/athena
  • mvozak/athena
  • lfiorini/athena
  • leggett/athena
  • tlari/athena
  • longjon/athena
  • martindl/athena
  • jichen/athena
  • susinha/athena
  • filthaut/athena
  • peter/athena
  • cchan/athena
  • cshimmin/athena
  • cvarni/athena
  • chays/athena
  • mihuebne/athena
  • wleight/athena
  • dtovey/athena
  • jsallen/athena-high-pt-ms-jets
  • nwarrack/athena
  • alfroch/athena
  • dkar/athena
  • sgeorge/athena
  • mstamenk/athena
  • tkohno/athena
  • yafu/athena
  • okepka/athena
  • wiedenat/athena
  • mgignac/athena
  • janovak/athena
  • khoo/athena
  • maklein/athena
  • tmkrtchy/athena
  • cohm/athena
  • scheiric/athena
  • omajersk/athena
  • gingrich/athena
  • pleskot/athena
  • schaarsc/athena
  • dbakshig/athena
  • jobalz/athena
  • fernando/athena
  • ebergeas/athena
  • ekasimi/athena
  • ponyisi/athena
  • afaulkne/athena
  • xai/athena
  • ravinab/athena
  • ekuwertz/athena
  • astruebi/athena
  • mdanning/athena
  • achishol/athena
  • merrenst/athena
  • egramsta/athena
  • goetz/athena
  • alaurier/athena
  • hye/athena
  • mtoscani/athena
  • krumnack/athena
  • dpopov/athena
  • ppostola/athena
  • shanisch/athena
  • efilmer/athena
  • clseitz/athena
  • ncalace/athena
  • bmindur/athena
  • rcoelhol/athena
  • jpanduro/athena
  • ssarikay/athena
  • tupham/athena
  • aad/athena
  • stelzer/athena
  • gpanizzo/athena
  • hyamauch/athena
  • ssottoco/athena
  • rkopelia/athena
  • turnerm/athena
  • nkrengel/athena
  • sutt/athena
  • tsulaia/athena
  • cmcginn/athena
  • bernius/athena
  • vcairo/athena
  • mbandier/athena
  • stsuno/athena
  • ldc/athena
  • mehlhase/athena
  • yunju/athena
  • dzanzi/athena
  • jdandoy/athena
  • jmacdona/athena
  • kzoch/athena
  • kwhalen/athena
  • nasbah/athena
  • jufische/athena
  • bmorgan/athena
  • amete/athena
  • williams/athena
  • msaimper/athena
  • rcarney/athena
  • kkohler/athena
  • shhirose/athena
  • cheidegg/athena
  • coccaro/athena
  • heng/athena
  • hhibi/athena
  • loch/athena
  • nova/athena
  • ynoguchi/athena
  • cdeutsch/athena
  • todorova/athena
  • campanel/athena
  • sjiggins/athena
  • bgokturk/athena
  • wbalunas/athena
  • hrussell/athena
  • aytul/athena
  • hoide/athena
  • jbiswal/athena
  • xju/athena
  • lidiaz/athena
  • guerrero/athena
  • yuchou/athena
  • bouhova/athena
  • kegraham/athena
  • alwang/athena
  • kpachal/athena
  • mverissi/athena
  • alopezso/athena
  • dhayden/athena
  • mvessell/athena
  • ssantpur/athena
  • kenelson/athena
  • mvanadia/athena
  • omeshkov/athena
  • upatel/athena
  • soumya/athena
  • igrabows/athena
  • ruyuan/athena
  • fmeloni/athena
  • tvarol/athena
  • korona/athena
  • dshope/athena
  • dbogavac/athena
  • tnobe/athena
  • anperrev/athena
  • eramakot/athena
  • mhank/athena
  • cowagner/athena
  • derue/athena
  • tursom/athena
  • fsforza/athena
  • koffas/athena
  • angianni/athena
  • fgiuli/athena
  • ballbroo/athena
  • diehl/athena
  • chinderk/athena
  • falonso/athena
  • myexley/athena
  • hansenph/athena
  • davidek/athena
  • tphamleh/athena
  • mfujimot/athena
  • ekajomov/athena-general
  • hirose/athena
  • salvator/athena
  • jmendes/athena
  • masato/athena
  • stapiaar/athena
  • sarbiolv/athena
  • jhaley/athena
  • ffabbri/athena
  • nwenke/athena
  • gia/athena
  • agbet/athena
  • stavrop/athena
  • tpelzer/athena
  • hmildner/athena
  • dbabal/athena
  • kkrizka/athena
  • temoskal/athena
  • juesseiv/athena
  • cdelitzs/athena
  • ckitsaki/athena
  • dwallace/athena
  • asonay/athena
  • lferencz/athena
  • iaizenbe/athena
  • eschanet/athena
  • jiawei/athena
  • czhou/athena
  • mromano/athena
  • pmeiring/athena
  • rustem/athena
  • sswatman/athena
  • jteoh/athena
  • miqueits/athena
  • wachan/athena
  • liberato/athena
  • jbeirer/athena
  • ranovotn/athena
  • nielsenj/athena
  • eparrish/athena
  • asquith/athena
  • elmsheus/athena
  • markowen/athena
  • esoldato/athena
  • fuhe/athena
  • nicholas/athena
  • mhance/athena
  • asoukhar/athena
  • aranzazu/athena
  • dakoch/athena
  • jkempste/athena
  • ndegroot/athena
  • tjunkerm/athena
  • lihan/athena
  • aporeba/athena
  • ginaciog/athena
  • sschramm/athena
  • verducci/athena
  • mdelmast/athena
  • martis/athena
  • mswiatlo/athena
  • anmrodri/athena
  • bcarlson/athena
  • pliu/athena
  • fastcalosim_test/athena
  • ssaha/athena
  • mxia/athena
  • gabarone/athena
  • scamarda/athena
  • amoussa/athena
  • rlongo/athena
  • lstocker/athena
  • mdonasci/athena
  • guindon/athena
  • conde/athena
  • gialas/athena
  • mmittal/athena
  • ffollega/athena
  • chelling/athena
  • fcostanz/athena
  • shion/athena
  • sschmitt/athena
  • hmaguire/athena
  • cgutscho/athena
  • sberlend/athena
  • nifomin/athena
  • acts/athena
  • zsoumaim/athena
  • eriefel/athena
  • guescini/athena
  • evarnes/athena
  • akotsoke/athena
  • jkremer/athena
  • dwilbern/athena
  • laforge/athena
  • susy-hackers/athena
  • istin/athena
  • llorente/athena
  • haozturk/athena
  • fizisist/athena
  • rpoggi/athena
  • acanesse/athena
  • kkoeneke/athena
  • fengyu/athena
  • navarrjo/athena
  • cmerlass/athena
  • rkarnam/athena
  • bulekov/athena
  • ivivarel/athena
  • chenlian/athena
  • sanchevi/athena
  • ysmirnov/athena_old
  • amulski/athena
  • yanlin/athena
  • restevam/athena
  • pkramer/athena
  • sefernan/athena
  • vcavalie/athena
  • smwang/athena
  • jgonski/athena
  • bauerpa/athena
  • mmazza/athena
  • thsjurse/athena
  • mmlynars/athena
  • iyeletsk/athena
  • wobisch/athena
  • csebasti/athena
  • itrandaf/athena
  • almgadm/athena
  • jhinds/athena
  • lmiller/athena
  • mtchijov/athena
  • mwielers/athena
  • tiyang/athena
  • lucam/athena
  • lapereir/athena
  • emmat/athena
  • kciesla/athena
  • aleopold/athena
  • somadutt/athena
  • pekman/athena
  • zuysal/athena
  • rbalasub/athena
  • salderwe/athena
  • masaito/athena
  • wmccorma/athena
  • ycoadou/athena
  • kkreul/athena
  • jstupak/athena
  • simmons/athena
  • ilongari/athena
  • pinamont/athena
  • ssahin/athena
  • adye/athena
  • kghorban/athena
  • wtaylor/athena
  • kbelobor/athena
  • jzeng/athena
  • gcallea/athena
  • cschiavi/athena
  • fbartels/athena
  • aoneill/athena
  • dmaximov/athena
  • kasai/athena
  • ecarlson/athena
  • mcfayden/athena
  • scarra/athena
  • ljeanty/athena
  • jraine/athena
  • aelmouss/athena
  • brottler/athena
  • abandyop/athena
  • khanov/athena
  • rozeny/athena
  • nbelyaev/athena
  • rebeca/athena
  • gotero/athena
  • amarzin/athena
  • aohatl/athena
  • joheinri/athena
  • doglioni/athena
  • alaperto/athena
  • bigliett/athena
  • rgarg/athena
  • bhonan/athena
  • begalli/athena
  • yajun/athena
  • pmoskvit/athena
  • dpudzha/athena
  • mpokidov/athena
  • paulama/athena
  • lbozianu/athena
  • jajimene/athena
  • atlidali/athena
  • mtesta/athena
  • demelian/athena
  • vcroft/athena
  • torrence/athena
  • hacooke/athena
  • barak/athena
  • wprzygod/athena
  • tofitsch/athena
  • sgalantz/athena
  • roward/athena
  • salnikov/athena
  • atsirigo/athena
  • csander/athena
  • mmiralle/athena
  • elrossi/athena
  • amoroso/athena
  • ozaplati/athena
  • alory/athena
  • ymino/athena
  • pottgen/athena
  • pbokan/athena
  • jsabater/athena
  • jdevivi/athena
  • xchen/athena
  • cappelt/athena
  • ruth/athena
  • klin/athena
  • trinn/athena
  • xiaoning/athena
  • apetukho/athena
  • nelsonc/athena
  • ratkin/athena
  • nishu/athena
  • paramon/athena
  • juhofer/athena
  • bleban/athena
  • acassim/athena
  • dpizzi/athena
  • ztarem/athena
  • enarayan/athena
  • exot-27/athena
  • bburghgr/athena
  • qhu/athena
  • sampson/athena
  • mmarjano/athena
  • pagessin/athena
  • ychow/athena
  • mkrivos/athena
  • hessey/athena
  • nviauxma/athena
  • watsona/athena
  • wfawcett/athena
  • ibordule/athena
  • LichtenbergGroup/athena
  • perj/athena
  • mleblanc/athena
  • jreich/athena
  • othielma/athena
  • sridouan/athena
  • jdegens/athena
  • ztao/athena
  • hasada/athena
  • alainb/athena
  • xiaohu/athena
  • pmendesa/athena
  • wgeorge/athena
  • ludovica/athena
  • bachacou/athena
  • kristin/athena
  • musafdar/athena
  • yama/athena
  • jlsmith/athena
  • ktsuri/athena
  • yake/athena
  • ssu/athena
  • angerami/athena
  • rnayak/athena
  • asalzbur/athena
  • jezequel/athena
  • hschwart/athena
  • pebaron/athena-weights
  • mproffit/athena
  • amendesj/athena
  • gproto/athena
  • csamoila/athena
  • malgren/athena
  • lhelary/athena
  • rerrabai/athena
  • tiany/athena
  • mprincip/athena
  • spolacek/athena
  • aczirkos/athena
  • bmondal/athena
  • asantra/athena
  • lbeemste/athena
  • grabanal/athena
  • kyamaguc/athena
  • tboeckh/athena
  • jreidels/athena
  • tdiasdov/athena
  • silvinha/athena
  • holau/athena
  • mdhlamin/athena
  • bozek/athena
  • lkrauth/athena
  • jroloff/athena
  • slawlor/athena
  • emily/athena
  • bbrueers/athena
  • iramirez/athena
  • carlod/athena
  • mtian/athena
  • idinu/athena
  • mgrabois/athena
  • bcole/athena
  • ecelebi/athena
  • dhirsch/athena
  • oducu/athena
  • roishi/athena
  • hmoyanog/athena-4-mr
  • jjwilkin/athena
  • exochell/athena
  • yuanchan/athena
  • ygo/athena
  • sbiryuko/athena
  • ggustavi/athena
  • diwillia/athena
  • skorn/athena
  • honguyen/athena
  • scalvet/athena
  • cgarner/athena
  • changqia/athena
  • atsiamis/athena
  • jwspence/athena
  • calpigia/athena
  • jizamora/athena
  • rysawada/athena
  • yangx/athena
  • cmarcon/athena
  • adimitri/athena
  • dhangal/athena
  • kpetukho/athena
  • atlidbs/athena
  • iene/athena
  • tqiu/athena
  • tbisanz/athena
  • dopasqua/athena
  • jspah/athena
  • athaler/athena
  • maliev/athena
  • jcardena/athena
  • ryamaguc/athena
  • jkretz/athena
  • tzenis/athena
  • hzuchen/athena
  • fdelrio/athena
  • lveloce/athena
  • oshukrun/athena
  • mbiros/athena
  • tsano/athena
  • mumohdso/athena2
  • okumura/athena
  • iwang/athena
  • sagara17/athena
  • mumohdso/athena
  • arennie/athena
  • dmunozpe/athena
  • valentem/athena
  • koshimiz/athena
  • caforio/athena
  • rhayes/athena
  • atate/athena
  • evguillo/athena
  • bnachman/athena
  • dossantn/athena
  • zearnsha/athena
  • suyounas/athena
  • zhijie/athena
  • yuzhan/athena
  • maly/athena
  • lunedic/athena
  • rjoshi/athena
  • hlin/athena
  • crougier/athena
  • mtost/athena
  • lvannoli/athena
  • machitis/athena
  • thompson/athena
  • mimarine/athena
  • dounwuch/athena
  • ndebiase/athena
  • nkakati/athena
  • saclawso/athena
  • omezhens/athena
  • echeu/athena
  • jonierma/athena
  • cprat/athena
  • martinpa/athena
  • hhanif/athena
  • jodamp/athena
  • csauer/athena
  • mischott/athena
  • sahinsoy/athena
  • fedin/athena
  • tiknight/athena
  • knikolop/athena
  • inaryshk/athena
  • wendlanb/athena
  • xchu/athena
  • lkeszegh/athena
  • adik/athena
  • jaoliver/athena
  • angrigor/athena
  • echeremu/athena
  • lbaltes/athena
  • ntamir/athena
  • eschopf/athena
  • pbellos/athena
  • idrivask/athena
  • aikoulou/athena
  • ignesi/athena
  • algilber/athena
  • sadykov/athena
  • haweber/athena
  • tteixeir/athena
  • sgurdasa/athena
  • pamachad/athena
  • pyanezca/athena
  • hiito/athena
  • pbhattar/athena
  • mdrozdov/athena
  • tavandaa/athena
  • wolter/athena
  • veellajo/athena
  • bsaifudd/athena
  • fsili/athena
  • nheatley/athena
  • mzhai/athena
  • hsimpson/athena
  • fdibello/athena
  • dparedes/athena
  • zyan/athena
  • mrenda/athena
  • minaenko/athena
  • emmarsha/athena
  • rkusters/athena
  • chchau/athena
  • edweik/athena
  • zhangr/athena
  • jburzyns/athena
  • slai/athena
  • phkenned/athena
  • zmarshal/athena
  • awilhahn/athena
  • agaa/athena
  • javanden/athena
  • leevans/athena
  • zfeng/athena
  • kkrowpma/athena
  • llaatu/athena
  • zifeng/athena
  • stsigari/athena
  • srdas/athena
  • atropina/athena
  • adonofri/athena
  • metsai/athena
  • atlaspmb/athena
  • cleonido/athena
  • yuanda/athena
  • drousso/athena
  • arombola/athena
  • seggebre/athena
  • mnoury/athena
  • ademaria/athena
  • kchoi/athena
  • ijuarezr/athena
  • dgillber/athena
  • axiong/athena
  • eyamashi/athena
  • saktas/athena
  • acanbay/athena
  • amdesai/athena
  • nlopezca/athena
  • berkeleylab/lowmutracking/athena
  • tbuanes/athena
  • zang/athena
  • matakagi/athena
  • qibin/athena
  • fbendebb/athena
  • bshresth/athena
  • klassen/athena
  • egodden/athena
  • jferrand/athena
  • cbuitrag/athena
  • vtudorac/athena
  • hpotti/athena
  • hawatson/athena
  • chonghao/athena
  • otheiner/athena-official
  • mfarring/athena
  • parodi/athena
  • knakkali/athena
  • bballard/athena
  • dzengerj/athena
  • lmontana/athena
  • adaribay/athena
  • zhuyi/athena
  • dcieri/athena
  • cimcp/athena
  • buboehm/athena
  • weixi/athena
  • kbenkend/athena
  • iliadis/athena
  • cantel/athena
  • frenner/athena
  • asansar/athena
  • jburr/athena
  • duperrin/athena
  • dkoeck/athena
  • isotarri/athena
  • smitani/athena
  • bstanisl/athena
  • miholzbo/athena
  • mfewell/athena
  • eegidiop/athena
  • blumen/athena
  • czodrows/athena
  • yulei/athena
  • olangrek/athena
  • amincer/athena
  • gshatri/athena
  • alsala/athena
  • jmharris/athena
  • hpang/athena
  • clantz/athena
  • otheiner/athena
  • gripelli/athena
  • jgargan/athena
  • ewatton/athena
  • smeriano/athena
  • tizuo/athena
  • rushioda/athena
  • sfranche/athena
  • mfernoux/athena
  • bernardo/athena
  • mleigh/athena
  • preselection-hackathon/athena
  • deniso/athena
  • jnitschk/athena
  • pebaron/athena-td
  • ksugizak/athena
  • chandler/athena
  • anghosh/ef-anindya
  • viruelas/athena
  • yusano/athena
  • davetisy/athena
  • skaur/athena
  • jgombas/athena
  • hriani/athena
  • wsherman/athena
  • vcepaiti/athena
  • rtagami/athena
  • yochi/athena
  • apsallid/athena
  • sroygara/athena
  • chji/athena
  • yuanj/athena
  • pakontax/athena
  • agavrily/athena
  • almay/athena
  • abunka/athena
  • giagu/athena
  • dmclaugh/athena
  • mcgensvc/athena
  • dmahon/athena
  • cjmeyer/athena
  • islazyk/athena
  • qberthet/athena
  • mshapiro/athena
  • ekay/athena
  • mbarel/athena
  • yuwen/athena
  • dkobylia/athena
  • baitbenc/athena
  • rdinardo/athena
  • glamprin/athena
  • dakiyama/athena
  • szambito/athena
  • cgrefe/athena
  • wsfreund/athena
  • osalin/athena
  • mlanzacb/athena
  • minlin/athena
  • kazhang/athena
  • pebaron/athena
  • enagy/athena
  • beringer/athena
  • hwilkens/athena
  • yyap/athena
  • mspalla/athena
  • menke/athena
  • mduehrss/athena
  • fcalosim/athena
  • carquin/athena
  • smobius/athena
  • mavogel/athena
  • spagan/athena
  • schaffer/athena
  • tkharlam/athena
  • rateixei/athena
  • chhayes/athena
  • dportill/athena
  • osunnebo/athena
  • okiverny/athena
  • jelena/athena
  • desilva/athena
  • jwalder/athena
  • lmijovic/athena
  • junpei/athena
  • satom/athena
  • mcarnesa/athena
  • sanmay/athena
  • tilebeam/athena
  • jahreda/athena
  • jedebevc/athena
  • kiabelin/athena
  • jstark/athena
  • delsart/athena
  • vtskhaya/athena
  • mtogawa/athena
  • silu/athena
  • krbjoerk/athena
  • cyoung/athena
  • jtanaka/athena
  • haoran/athena
  • yifany/athena
  • luxin/athena
  • maslawin/athena
  • danning/athena
  • minghui/athena
  • faser/offline/athena
  • dcasperfaser/athena
  • srettie/athena
  • almeidvi/athena
  • beddall/athena
  • cfan/athena
  • mmontell/athena
  • kazheng/athena
  • vmartin/athena
  • sudha/athena
  • beltran/athena-fork
  • kgupta/athena
  • lgagnon/athena
  • pajones/athena
  • ssinha/athena
  • lhenkelm/athena
  • dpanchal/athena
  • anbaraja/athena
  • serodrig/athena
  • amorenos/athena
  • kkawade/athena
  • joana/athena
  • jshahini/athena
  • mtanasin/athena
  • chiodini/athena
  • lfeligio/athena
  • vbuxbaum/athena
  • apalazzo/athena
  • jaofferm/athena
  • gonzalri/athena
  • kburka/athena
  • ehaines/athena
  • mdidenko/athena
  • rmazini/athena
  • desengup/athena
  • gottino/athena
  • sabidi/athena
  • gavrilen/athena
  • bkerridg/athena
  • dwkim/athena
  • qidong/athena
  • ktackman/athena
  • hazeng/athena
  • jingjing/athena
  • cdimitri/athena
  • yche/athena
  • yoyeh/athena
  • ktopolni/athena
  • sgaid/athena
  • dabattul/athena
  • attrtcal/athena
  • thmaurin/athena
  • bochen/athena
  • asciandr/athena
  • chjiang/athena
  • mischott/athena-22
  • pclark/athena
  • lbazzano/athena
  • rushioda/athena-3
  • krdona/athena
  • kvidalgu/athena
  • dtorresa/athena
  • meiqi/athena
  • nlad/athena
  • aackerma/athena
  • aaikot/athena
  • hmoyanog/athena
  • yingjun/athena
  • jcurran/athena
  • lesplend/athena
  • maboelel/athena
  • xinfei/athena
  • rmakhman/athena
  • aivina/athena
  • xinhui/athena
  • mschefer/athena
  • kazheng/athena-physics-val-2023
  • liuk/athena
  • zoduan/athena
  • zhiliang/athena
  • shhan/athena
  • jlue/athena
  • bdixit/athena
  • sfrances/athena
  • alsidley/athena
  • ragrabar/athena
  • kyjones/topoetcone-removal
  • xingguo/athena
  • niabicht/athena
  • asehrawa/athena
  • yunagai/athena
  • keener/athena
  • mhoppesc/athena
  • shahzad/athena
  • llewitt/athena
  • lcalic/athena-backup
  • adohnalo/athena
  • greynold/athena
  • bschlag/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • yinmiao/athena
  • bruckman/athena
  • asmaga/athena
  • nkang/athena
  • kbhide/athena
  • drankin/athena
  • hvanders/athena
  • ladamczy/test
  • losanti/athena
  • berkeleylab/acts/athena
  • weitao/athena
  • tbeumker/athenatest
  • tbeumker/athena
  • menu-hackathon/athena
  • losanti/athena-23
  • jiturriz/athena
  • dmankad/athena-idle
  • wsong/athena
  • edreyer/athena
  • kyjones/trigger-example
  • toobauma/athena
  • seggebre/athena-fluencemap-modification
  • gtarna/athena
  • vmaksimo/athena
  • dawerner/athena
  • fisopkov/athena
  • lprimomo/athena
  • maparo/athena
  • smanzoni/athena
  • pgraveli/athena
  • SecVtx-Lancaster/Athena
  • adimri/athena
  • shmukher/athena
  • aackerma/atlas-athena
  • jcrosby/athena
  • wstanek/athena
  • tovsiann/athena
  • lrambell/athena
  • eullmank/athena
  • atlas-sa-uct/athena
  • ppotepa/athena
  • rsnyder/athena
  • skita/athena
  • lroos/athena
  • zgao/athena
  • mhemmett/athena
  • achakrav/athena
  • xmapekul/athena
  • evitale/athena
  • thmaurin/athena-sim-flavour
  • arej/athena
  • kgoto/athena
  • rashbypi/athena
  • lkretsch/athena
  • ivyas/athena
  • aleksand/athena
  • npond/athena
  • hluk/athena
  • epasqual/athena
  • jebohm/athena
  • dbiswas/athena
  • cvittori/athena
  • mbiyabi/athena
  • mkareem/athena
  • aralves/athena
  • dkoeck/anniathenafork
  • mihe/athena
  • tslee/athena
  • croland/athena
  • rgupta/athena
  • mhaacke/athena
  • pkumari/athena
  • cgarvey/athena
  • kesedlac/athena
  • agerwin/athena
  • ctosciri/athena-old
  • ctosciri/athena
  • ricunnin/athena
  • feickert/athena
  • asoflau/athena
  • bscheuer/athena
  • gfrattar/athena
  • gwilliam/athena
  • jfeng2/athena
  • bdixit/masking-strip-modules
  • gtolkach/athena
  • gaofeng/athena
  • ksudo/athena
  • kosuzuki/athena
  • rhiguchi/athena
  • etoyoda/athena
  • hart/athena
  • svanstro/athena
  • vaustrup/athena
  • tnakagaw/athena
  • amakita/athena
  • maoki/athena
  • miyamada/athena
  • rishikaw/athena
  • tpaschoa/athena
  • whopkins/athena
  • dduda/athena
  • rmizuhik/athena
  • anayaz/athena
  • ferusso/athena
  • evalient/athena
  • aagaard/athena
  • kkanke/athena
  • zyan/athena-muon-calib-stream
  • shudong/athena
  • smweber/athena
  • smweber/athena-run-3
  • zyan/athena-muon-calib
  • evalient/athena-dnn-calculator
  • strom/athena
  • dellacqu/athena
  • glagafon/project-nimber-1
  • jsallen/athena
  • strom/athena-dms
  • brosser/athena
  • sbellman/athena
  • macretar/athena
  • aowang/athena
  • ooncel/athena
  • skadir/athena-sadaf
  • jhoya/athena
  • leguo/athena
  • tygeorge/athena
  • glagafon/handi-project
  • hasun/athena
  • wuxi/athena
  • syan/athena-syan
  • osotosan/athena
  • glagafon/handi-project-1
  • aborbely/athena
  • will/athena
  • axgallen/athena-qualification-task
  • mnorfolk/athena
  • seinfant/athena
  • karakawa/athena
  • taogawa/athena
  • schernau/athena
  • dmankad/athena-gen
  • mmaroun/ravina-fork
  • ktariq/athena
  • axgallen/athena
  • romar/athena
  • tmlinare/athena
  • dhagan/athena
  • vlysenko/athena
  • agarabag/athena
  • zuzak/athena
  • ipolishc/athena
  • ibamwidh/athena
  • mahorstm/athena
  • tizhang/athena
  • frfische/athena
  • atishelm/athena
  • jolamber/athena
  • xilin/athena
  • jlue/athena-latest
  • ykhoulak/myathena
  • yil/athena
  • huayu/athena
  • kifarman/athena
  • nkua-atlas/athena
  • tayoshid/athena
  • chuanye/athena
  • dntounis/athena
  • lderamo/athena
  • movincen/athena
  • steinber/athena-main
  • tdingley/athena
  • nischmit/athena
  • dtruncal/athena
  • dongyi/athena
  • hasegawa/athena
  • kazheng/athena-acts
  • malvesca/athena
  • glagafon/dq-optimize
  • mnowak/athena
  • openc/athena
  • anfortma/athena
  • lcalic/athena
  • ekajomov/athena-fork-fix
  • rqian/athena
  • kfung/athena
  • ladamczy/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • yonoda/athena
  • alveltma/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • pebaron/athena-leprem
  • edcritel/athena
  • anstein/athena
  • anhodges/athena
  • gbird/athena
  • midandre/athena
  • bglik/athena
  • kyjones/athena
  • mvivasal/athena
  • asbrooks/athena
  • mfurukaw/athena
  • sokkerma/athena
  • mveen/athena
  • fcurcio/athena
  • tburatov/athena
  • mmlynars/athena-v-2
  • jmcgowan/athena
  • ctaybi/athena
  • joroemer/athena
  • tayoshid/athena-test
  • jodafons/athena
  • lboccard/athena
  • dmankad/athena
  • ivyoung/athena
  • drasslof/athena
  • sanchezj/athena-2022
  • tmclachl/athena
  • jiddon/athena
  • anburger/athena
  • sdemiran/athena
  • apfleger/athena
  • sdahbi/athena
  • goblirsc/athena
  • sidoti/athena
  • fwinkel/athena
  • izahir/athena
  • rvinasco/athena
  • sanchezj/athena
  • mmoors/athena
  • jwkraus/athena
  • esimpson/athena
  • klleras/athena
  • obut/athena
  • rhaberle/athena
  • jhowarth/athena
  • dta/athena_old
  • janders/athena
  • jchapman/athena
  • avallier/athena
  • mungo/athena
  • jecouthu/athena
  • dtrischu/athena
  • fmontere/athena
  • sfuenzal/athena
  • fhenry/athena
  • misantan/athena
  • awharton/Athena
  • zalegria/athena
  • zhaotong/athena
  • gdigrego/athena
  • nbruscin/athena
  • acordeir/athena-ed
  • pdougan/athena
  • shaoguan/athena
  • amelo/athena
  • peiyan/athena
  • backes/athena
  • caiy/athena
  • mkholoda/athena
  • fkirfel/athena
  • kchu/athena
  • tayoshid/athena-2024
  • esampson/athena-idart
  • shpeng/athena-2
  • bcervato/athena
  • fwinkl2/athena
  • gfacini/athena
  • gmercado/athena
  • rhowen/athena
  • yvolkotr/athena
  • esampson/athena-idart-2
  • gmascare/athena
  • costanzo/athena
  • nharriso/athena
  • yuematsu/athena
  • djlewis/athena
  • pibutti/athena
  • esampson/athena-otp
  • alpleban/athena-met
  • astefl/athena
  • yilin/athena
  • esampson/athena-june-otp
  • bmoser/athena
  • thitchin/athena
  • bdong/athena
  • ksahan/athena
  • msasada/athena
  • wcastigl/athena
  • zhanhang/athena
  • sosarkar/athena-again
  • lbarrade/athena
  • seth/athena
  • agheata/athena
  • txu/athena
  • robouque/athena
  • zhangbo/athena
  • okolay/athena
  • mlyukova/athena
  • nsurijr/athena
  • damperia/athena-acts
  • dbaronmo/athena
  • esampson/june-2-otp
  • wema/athena
  • acamplan/athena
  • martyniu/athena
  • boudreau/athena
  • eballabe/athena
  • bhuth/athena
  • vsasse/athena
  • domatter/athena
  • bngair/me-tsig-athena
  • vkost/athena
  • rhicks/athena
  • bngair/met-significance-r-22
  • ksakura/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • linghua/athena
  • skadir/athena
  • sgoswami/athena
  • juscerri/athena
  • biliu/athena
  • arelycg/athena
  • beltran/athena
  • dreikher/athena
  • mwessels/athena
  • sosarkar/athena
  • ddicroce/athena
  • emoon/athena
  • hshaddix/athena
  • lwinkler/athena
  • elham/athena
  • bdebjani/athena
  • fladias/athena
  • haren/athena
  • mhabedan/athena
  • cleong/athena
  • sdiefenb/athena-onnx-tutorial
  • dwilson/athena
  • fivone/athena
  • nkrogh/athena
  • mads/athena
  • lifoster/athena
  • lsanfili/athena
  • scane/athena
  • echerepa/athena
  • baer/athena
  • dcamarer/athena
  • thart/athena
  • dahumphr/athena
  • kenakamu/athena
  • alancast/athena
  • glagafon/aaaathena
  • haotianl/athena
  • eskorda/athena
  • glagafon/athena
  • salopez/athena
  • rshibata/athena
  • ukhurshi/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • delitez/athena
  • pizhang/athena
  • htsoi/athena
  • rvavrick/athena
  • therwig/athena
  • mwitkows/athena
  • pachabri/athena
  • casadop/athena
  • lcorazzi/athena
  • achamber/athena
  • mmantina/athena
  • ezaya/athena
  • jaburles/athena
  • hzhuang/athena
  • mamirono/athena
  • rmole/athena
  • jkrupa/athena
  • lmonaco/athena
  • gserenis/athena
  • rpozzi/athena
  • semami/athena
  • mfornasi/athena
  • fdattola/athena
  • uepstein/athena
  • abesir/athena
  • jinglis/athena
  • lechols/athena
  • belderto/athena
  • ljerala/athena
  • cmavungu/athena
  • htorre/athena
  • lopezzot/athena
  • jajohnso/athena
  • jlittle/athena
  • tneep/athena
  • robouque/athena-20241115
  • lbrown/athena
  • fsiegert/athena
  • wenjingw/athena
  • wguerin/athena
  • jackersc/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • wasu/athena
  • epompapa/athena
  • prmitra/athena
  • ashirazi/athena
  • nihartma/athena
  • kgrimm/athena-kgrimm
  • toheintz/athena
  • amoreira/athena
  • kdipetri/athena
  • gfazzino/athena
  • aslobodk/athena
  • goetz/athena-acts
  • yazhou/athena
  • muschmid/athena
  • mdacunha/athena
  • djuarezg/athena
  • wlai/athena
  • alarnold/athena
  • falves/athena
  • mborodin/athena
  • rohasan/athena
  • adsalvad/athena
  • asickles/athena
  • novotnyp/athena
  • alecrhys/athena
  • lvicenik/athena
  • ibenaoum/athena
  • kkazakov/athena
  • christog/athena
  • tflee/athena
  • frcastig/athena
  • ehampshi/athena
  • zetao/athena
  • mfarzali/athena
  • llarson/athena
  • jusilva/athena
  • tomoya/athena-low-pt-muon-rec
  • pusharma/athena
  • gpinheir/athena
  • jlieberm/athena
  • exochell/my-athena
  • hshaddix/athena-hshaddix
  • vchabala/athena
  • jecifuen/athena
  • mojeda/athena
  • chhultqu/athena
  • nsur/athena-lund
  • misavic/athena
  • jlai/athena
  • nshtokha/athena
  • camccrac/athena
  • yuxuanz/local-athena
  • yukari/athena
  • pmourafr/athena
  • sawyer/athena
  • akraus/athena
  • zhubacek/athena
  • mfilipig/athena
  • sizumiya/athena
  • mnegrini/athena
  • rkavak/athena
  • zrokavec/athena
  • fdejean/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • gipoddar/athena
  • ssuravar/athena
  • beyeo/athena
  • ywng/athena
  • vpires/athena-vasco
  • gsalvi/athena
  • mtancock/athena-2
  • sutuncay/athena
  • fballi/athena
1575 results
Show changes
Commits on Source (8)
Showing
with 179 additions and 85 deletions
......@@ -15,13 +15,13 @@ find_package( Boost )
atlas_add_library( SiClusterizationToolLib
SiClusterizationTool/*.h src/*.cxx
PUBLIC_HEADERS SiClusterizationTool
INCLUDE_DIRS PixelGeoModelLib ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
DEFINITIONS ${CLHEP_DEFINITIONS}
PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${COOL_INCLUDE_DIRS} ${LWTNN_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${ROOT_LIBRARIES} AthenaBaseComps AthenaKernel AthAllocators
BeamSpotConditionsData EventPrimitives GaudiKernel GeoPrimitives Identifier InDetCondTools InDetConditionsSummaryService
InDetIdentifier InDetPrepRawData InDetRawData InDetReadoutGeometry SCT_ReadoutGeometry InDetRecToolInterfaces
InDetSimData PixelConditionsData PixelReadoutGeometryLib PoolSvcLib StoreGateLib TrkNeuralNetworkUtilsLib TrkParameters LwtnnUtils xAODInDetMeasurement
InDetSimData PixelConditionsData PixelGeoModelLib PixelReadoutGeometryLib PoolSvcLib StoreGateLib TrkNeuralNetworkUtilsLib TrkParameters LwtnnUtils xAODInDetMeasurement
PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${COOL_LIBRARIES} ${LWTNN_LIBRARIES} AthenaPoolUtilities AtlasDetDescr AtlasHepMCLib FileCatalog ReadoutGeometryBase TrkEventPrimitives TrkSurfaces VxVertex CxxUtils xAODCore )
atlas_add_component( SiClusterizationTool
......
......@@ -118,6 +118,15 @@ class MdtReadoutElement : public MuonReadoutElement {
double innerTubeRadius() const;
/// Adds the thickness of the tube wall onto the radius
double tubeRadius() const;
/// Returns the length of the bottom edge of the chamber (short width)
double moduleWidthS() const;
/// Returns the length of the top edge of the chamber (top width)
double moduleWidthL() const;
/// Returns the height of the chamber (Distance bottom - topWidth)
double moduleHeight() const;
/// Returns the thickness of the chamber
double moduleThickness() const;
/// Returns the global position of the tube center.
Amg::Vector3D globalTubePos(const ActsGeometryContext& ctx,
......@@ -153,7 +162,7 @@ class MdtReadoutElement : public MuonReadoutElement {
double wireLength(const IdentifierHash& hash) const;
friend ActsTrk::TransformCacheDetEle<MdtReadoutElement>;
private:
/// Returns the tube position in the chamber coordinate frame
Amg::Vector3D localTubePos(const IdentifierHash& hash) const;
......@@ -168,6 +177,7 @@ class MdtReadoutElement : public MuonReadoutElement {
/// z-axis: Pointing along the wire
Amg::Transform3D toTubeFrame(const IdentifierHash& hash) const;
parameterBook m_pars{};
const MdtIdHelper& m_idHelper{idHelperSvc()->mdtIdHelper()};
/// Identifier index of the multilayer (1-2)
......@@ -179,5 +189,10 @@ class MdtReadoutElement : public MuonReadoutElement {
std::ostream& operator<<(std::ostream& ostr, const MdtReadoutElement::parameterBook& pars);
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MdtReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/MdtReadoutElement.icc>
#endif
......@@ -4,6 +4,20 @@
#ifndef MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_ICC
#define MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_ICC
#include <GaudiKernel/SystemOfUnits.h>
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MdtReadoutElement>::fetchTransform(const DetectorAlignStore* store) const {
const unsigned int tubeNum = m_parent->tubeNumber(hash()) + 1;
if (tubeNum == 0) {
const Amg::Translation3D toCenter{0.5*m_parent->moduleHeight() * Amg::Vector3D::UnitY()};
return m_parent->toStation(store) * m_parent->toChamberLayer(hash()) *
toCenter * Amg::getRotateY3D(90*Gaudi::Units::deg);
}
return m_parent->toStation(store) * m_parent->toTubeFrame(hash());
}
}
namespace MuonGMR4 {
inline unsigned int MdtReadoutElement::multilayer() const { return m_stML; }
inline unsigned int MdtReadoutElement::numLayers() const { return m_pars.tubeLayers.size(); }
......@@ -12,7 +26,11 @@ inline double MdtReadoutElement::innerTubeRadius() const {return m_pars.tubeInne
inline double MdtReadoutElement::tubeRadius() const {return innerTubeRadius() + m_pars.tubeWall;}
inline double MdtReadoutElement::tubePitch() const { return m_pars.tubePitch;}
inline double MdtReadoutElement::thickness() const {return 2.* m_pars.halfHeight;}
inline double MdtReadoutElement::moduleWidthS() const{ return 2.*m_pars.shortHalfX; }
inline double MdtReadoutElement::moduleWidthL() const{ return 2.*m_pars.longHalfX; }
inline double MdtReadoutElement::moduleHeight() const{ return 2.*m_pars.halfY; }
inline double MdtReadoutElement::moduleThickness() const{ return 2.*m_pars.halfHeight; }
inline bool MdtReadoutElement::isValid(const IdentifierHash& measHash) const {
return layerNumber(measHash) < numLayers() &&
tubeNumber(measHash) < numTubesInLay() &&
......
......@@ -114,6 +114,9 @@ class MmReadoutElement : public MuonReadoutElement {
const StripLayer& stripLayer(const Identifier& measId) const;
const StripLayer& stripLayer(const IdentifierHash& measHash) const;
friend ActsTrk::TransformCacheDetEle<MmReadoutElement>;
private:
......@@ -133,6 +136,11 @@ class MmReadoutElement : public MuonReadoutElement {
std::ostream& operator<<(std::ostream& ostr, const MmReadoutElement::parameterBook& pars);
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MmReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/MmReadoutElement.icc>
#endif
......@@ -4,7 +4,13 @@
#ifndef MUONREADOUTGEOMETRYR4_MMREADOUTELEMENT_ICC
#define MUONREADOUTGEOMETRYR4_MMREADOUTELEMENT_ICC
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MmReadoutElement>::fetchTransform(const DetectorAlignStore* store) const {
return m_parent->toStation(store) * m_parent->fromGapToChamOrigin(hash());
}
}
namespace MuonGMR4 {
inline double MmReadoutElement::thickness() const { return 2.* m_pars.halfThickness; }
......
......@@ -21,6 +21,20 @@
#include <set>
namespace MuonGMR4{
class MuonChamber;
}
namespace ActsTrk {
template<> TransformCacheDetEle<MuonGMR4::MuonChamber>::TransformCacheDetEle(const IdentifierHash& hash,
const MuonGMR4::MuonChamber* chamber);
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MuonChamber>::fetchTransform(const DetectorAlignStore* store) const;
template <> const IDetectorElement*
TransformCacheDetEle<MuonGMR4::MuonChamber>::parent() const;
}
namespace MuonGMR4 {
class MuonChamber {
public:
......@@ -75,12 +89,7 @@ namespace MuonGMR4 {
private:
defineArgs m_args{};
using AlignmentStore = ActsGeometryContext::AlignmentStore;
Amg::Transform3D fromLayerToGlobal(const AlignmentStore* store) const;
ActsTrk::TransformCache m_localToGlobal{IdentifierHash{0},
[this](const AlignmentStore* store, const IdentifierHash&){
return fromLayerToGlobal(store);
},readOutElements()[0]};
ActsTrk::TransformCacheDetEle<MuonChamber> m_localToGlobal{IdentifierHash{0}, this};
};
std::ostream& operator<<(std::ostream& ostr,
......@@ -90,5 +99,7 @@ namespace MuonGMR4 {
const MuonChamber& chamber);
}
#endif
#endif
\ No newline at end of file
......@@ -164,19 +164,15 @@ class MuonReadoutElement : public GeoVDetectorElement, public AthMessaging, publ
void releaseUnAlignedTrfs() const;
unsigned int storeAlignedTransforms(const ActsTrk::DetectorAlignStore& store) const override final;
/// Returns the transformation into the center of the readout volume
Amg::Transform3D toStation(const ActsTrk::DetectorAlignStore* alignStore) const;
protected:
using TransformMaker = ActsTrk::TransformCache::TransformMaker;
/// Inserts a transfomration for caching
StatusCode insertTransform(const IdentifierHash& hash,
TransformMaker make);
StatusCode insertTransform(const IdentifierHash& hash,
std::shared_ptr<const TransformMaker> make);
template <class MuonDetImpl> StatusCode insertTransform(const IdentifierHash& hash);
StatusCode createGeoTransform();
/// Returns the transformation into the center of the readout volume
Amg::Transform3D toStation(const ActsTrk::DetectorAlignStore* alignStore) const;
#ifndef SIMULATIONBASE
//Creates a MuonSurfaceCache for straw surfaces using the given Bounds and Identifier Hash
StatusCode strawSurfaceFactory(const IdentifierHash& hash, std::shared_ptr<Acts::LineBounds> lBounds);
......@@ -214,5 +210,11 @@ class MuonReadoutElement : public GeoVDetectorElement, public AthMessaging, publ
#endif
};
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MuonReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/MuonReadoutElement.icc>
#endif
......@@ -4,6 +4,14 @@
#ifndef MUONGEOMODELR4_MUONREADOUTELEMENT_ICC
#define MUONGEOMODELR4_MUONREADOUTELEMENT_ICC
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MuonReadoutElement>::fetchTransform(const DetectorAlignStore* store) const {
return m_parent->toStation(store);
}
}
namespace MuonGMR4 {
inline const GeoAlignableTransform* MuonReadoutElement::alignableTransform() const { return m_args.alignTransform; }
......@@ -42,5 +50,18 @@ inline const Amg::Transform3D& MuonReadoutElement::localToGlobalTrans(const Acts
return localToGlobalTrans(ctx, layerHash(id));
}
template<class MuonImpl>
StatusCode MuonReadoutElement::insertTransform(const IdentifierHash& hash) {
TransformCacheMap::const_iterator cache = m_localToGlobalCaches.find(hash);
if (cache != m_localToGlobalCaches.end()) {
ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toStringDetEl(identify())
<<" has already a transformation cached for hash "<<hash);
return StatusCode::FAILURE;
}
auto newCache = std::make_unique<ActsTrk::TransformCacheDetEle<MuonImpl>>(hash, static_cast<MuonImpl*>(this));
m_localToGlobalCaches.insert(std::make_pair(hash, std::move(newCache)));
return StatusCode::SUCCESS;
}
} // namespace MuonGMR4
#endif
......@@ -118,7 +118,8 @@ class RpcReadoutElement : public MuonReadoutElement {
const unsigned int gasGap,
const unsigned int doubPhi,
const bool measPhi);
friend class ActsTrk::TransformCacheDetEle<RpcReadoutElement>;
private:
/// Access to the StripLayer associated to a given measurement Hash
const StripLayer& sensorLayout(const IdentifierHash& measHash) const;
......@@ -153,6 +154,11 @@ class RpcReadoutElement : public MuonReadoutElement {
std::ostream& operator<<(std::ostream& ostr, const RpcReadoutElement::parameterBook& pars);
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::RpcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/RpcReadoutElement.icc>
#endif
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONREADOUTGEOMETRYR4_RPCREADOUTELEMENT_ICC
#define MUONREADOUTGEOMETRYR4_RPCREADOUTELEMENT_ICC
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::RpcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const{
return m_parent->toStation(store) * m_parent->fromGapToChamOrigin(hash());
}
}
namespace MuonGMR4 {
namespace RpcIdMeasHashFields{
constexpr unsigned int minOne = -1;
......
......@@ -91,6 +91,9 @@ class TgcReadoutElement : public MuonReadoutElement {
/// Returns access to the strip design of the given gasGap [1-3]
/// If the gap does not have strips an exception is thrown
const RadialStripDesign& stripLayout(unsigned int gasGap) const;
friend class ActsTrk::TransformCacheDetEle<TgcReadoutElement>;
private:
parameterBook m_pars{};
const TgcIdHelper& m_idHelper{idHelperSvc()->tgcIdHelper()};
......@@ -117,6 +120,10 @@ class TgcReadoutElement : public MuonReadoutElement {
std::ostream& operator<<(std::ostream& ostr, const TgcReadoutElement::parameterBook& pars);
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::TgcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/TgcReadoutElement.icc>
#endif
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONREADOUTGEOMETRYR4_TGCREADOUTELEMENT_ICC
#define MUONREADOUTGEOMETRYR4_TGCREADOUTELEMENT_ICC
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::TgcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const{
return m_parent->toStation(store) * m_parent->fromGapToChamOrigin(hash());
}
}
namespace MuonGMR4 {
inline double TgcReadoutElement::moduleWidthS() const { return 2.*m_pars.halfWidthShort; }
inline double TgcReadoutElement::moduleWidthL() const { return 2.*m_pars.halfWidthLong; }
......
......@@ -266,7 +266,7 @@ class sTgcReadoutElement : public MuonReadoutElement {
const unsigned int channelType,
const unsigned int channel,
const unsigned int wireInGrp = 0);
friend class ActsTrk::TransformCacheDetEle<sTgcReadoutElement>;
private:
/// Returns channel position for a given identifierHash
static unsigned int channelNumber(const IdentifierHash& measHash);
......@@ -286,9 +286,13 @@ class sTgcReadoutElement : public MuonReadoutElement {
const unsigned int m_hashShiftChType{2*CxxUtils::count_ones(static_cast<unsigned int>(numLayers()))};
};
std::ostream& operator<<(
std::ostream& ostr, const MuonGMR4::sTgcReadoutElement::parameterBook& pars);
std::ostream& operator<<(std::ostream& ostr, const MuonGMR4::sTgcReadoutElement::parameterBook& pars);
} // namespace MuonGMR4
namespace ActsTrk{
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::sTgcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const;
}
#include <MuonReadoutGeometryR4/sTgcReadoutElement.icc>
#endif
......@@ -5,6 +5,14 @@
#define MUONREADOUTGEOMETRYR4_STGCREADOUTELEMENT_ICC
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<MuonGMR4::sTgcReadoutElement>::fetchTransform(const DetectorAlignStore* store) const{
return m_parent->toStation(store) * m_parent->fromGapToChamOrigin(hash());
}
}
namespace MuonGMR4 {
namespace sTgcIdMeasHashFields {
constexpr unsigned int minusOne = -1;
......
......@@ -58,21 +58,11 @@ StatusCode MdtReadoutElement::initElement() {
/// w.r.t. to the chamber edge. Move first tube into the proper position
std::optional<Amg::Vector3D> prevLayPos{std::nullopt};
std::shared_ptr<TransformMaker> tubeMaker = std::make_shared<TransformMaker>(
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * toTubeFrame(hash);
});
std::shared_ptr<TransformMaker> layerMaker = std::make_shared<TransformMaker>(
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
const Amg::Translation3D toCenter{m_pars.halfY * Amg::Vector3D::UnitY()};
return toStation(store) * toChamberLayer(hash)*toCenter*Amg::getRotateY3D(90*Gaudi::Units::deg);
});
for (unsigned int lay =1 ; lay <= numLayers() ; ++lay) {
/// Cache the transformations to the chamber layers
const IdentifierHash layHash = measurementHash(lay,0);
ATH_CHECK(insertTransform(layHash, layerMaker));
ATH_CHECK(insertTransform<MdtReadoutElement>(layHash));
#ifndef SIMULATIONBASE
ATH_CHECK(planeSurfaceFactory(layHash, m_pars.layerBounds->make_bounds(m_pars.shortHalfX,
m_pars.longHalfX,
......@@ -86,7 +76,7 @@ StatusCode MdtReadoutElement::initElement() {
prevTubePos = std::nullopt;
continue;
}
ATH_CHECK(insertTransform(idHash, tubeMaker));
ATH_CHECK(insertTransform<MdtReadoutElement>(idHash));
#ifndef SIMULATIONBASE
ATH_CHECK(strawSurfaceFactory(idHash, m_pars.tubeBounds->make_bounds(innerTubeRadius(), 0.5*tubeLength(idHash))));
#endif
......
......@@ -48,10 +48,7 @@ StatusCode MmReadoutElement::initElement() {
ATH_MSG_FATAL("Layer "<<m_pars.layers[layer]<<" has a very strange hash. Expect "<<layer);
return StatusCode::FAILURE;
}
ATH_CHECK(insertTransform(layHash,
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<MmReadoutElement>(layHash));
#ifndef SIMULATIONBASE
const StripDesign& design{m_pars.layers[layer].design()};
ATH_CHECK(planeSurfaceFactory(layHash, m_pars.layerBounds->make_bounds(design.shortHalfHeight(),
......
......@@ -7,6 +7,33 @@
#include <ActsGeoUtils/NoDeletePtr.h>
namespace ActsTrk {
template<>
TransformCacheDetEle<MuonGMR4::MuonChamber>::TransformCacheDetEle(const IdentifierHash& hash,
const MuonGMR4::MuonChamber* chamber):
TransformCache{hash, chamber->detectorType()},
m_parent{chamber} {}
template<> const IDetectorElement*
TransformCacheDetEle<MuonGMR4::MuonChamber>::parent() const { return nullptr; }
template <> Amg::Transform3D
TransformCacheDetEle<MuonGMR4::MuonChamber>::fetchTransform(const DetectorAlignStore* store) const{
ActsGeometryContext gctx{};
/// If the store is given, assume that the tracking alignment already caches the transformations
/// of the needed detector surfaces --> We can build a geo context on the fly.
if (store) {
auto copyStore = std::make_unique<DetectorAlignStore>(detectorType());
copyStore->geoModelAlignment = store->geoModelAlignment;
copyStore->trackingAlignment = store->trackingAlignment;
copyStore->internalAlignment = store->internalAlignment;
gctx.setStore(std::move(copyStore));
}
const auto& pars{m_parent->parameters()};
return pars.readoutEles[0]->localToGlobalTrans(gctx) * pars.centerTrans;
}
}
namespace MuonGMR4 {
......@@ -44,19 +71,6 @@ const Amg::Transform3D& MuonChamber::localToGlobalTrans(const ActsGeometryContex
Amg::Transform3D MuonChamber::globalToLocalTrans(const ActsGeometryContext& gctx) const {
return localToGlobalTrans(gctx).inverse();
}
Amg::Transform3D MuonChamber::fromLayerToGlobal(const AlignmentStore* store) const {
ActsGeometryContext gctx{};
/// If the store is given, assume that the tracking alignment already caches the transformations
/// of the needed detector surfaces --> We can build a geo context on the fly.
if (store) {
auto copyStore = std::make_unique<AlignmentStore>(detectorType());
copyStore->geoModelAlignment = store->geoModelAlignment;
copyStore->trackingAlignment = store->trackingAlignment;
copyStore->internalAlignment = store->internalAlignment;
gctx.setStore(std::move(copyStore));
}
return m_args.readoutEles[0]->localToGlobalTrans(gctx) * m_args.centerTrans;
}
double MuonChamber::halfXLong() const { return m_args.halfXLong; }
double MuonChamber::halfXShort() const { return m_args.halfXShort; }
double MuonChamber::halfY() const { return m_args.halfY; }
......
......@@ -34,9 +34,7 @@ StatusCode MuonReadoutElement::createGeoTransform() {
ATH_MSG_FATAL("The readout element "<<idHelperSvc()->toStringDetEl(identify())<<" has no assigned alignable node");
return StatusCode::FAILURE;
}
return insertTransform(geoTransformHash(), [this](const DetectorAlignStore* store, const IdentifierHash&){
return toStation(store);
});
return insertTransform<MuonReadoutElement>(geoTransformHash());
}
IdentifierHash MuonReadoutElement::geoTransformHash() {
static const IdentifierHash hash{static_cast<unsigned>(~0)-1};
......@@ -72,22 +70,6 @@ unsigned int MuonReadoutElement::storeAlignedTransforms(const ActsTrk::DetectorA
return aligned;
}
StatusCode MuonReadoutElement::insertTransform(const IdentifierHash& hash,
TransformMaker make) {
return insertTransform(hash, std::make_shared<const TransformMaker>(make));
}
StatusCode MuonReadoutElement::insertTransform(const IdentifierHash& hash,
std::shared_ptr<const TransformMaker> make) {
TransformCacheMap::const_iterator cache = m_localToGlobalCaches.find(hash);
if (cache != m_localToGlobalCaches.end()) {
ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toStringDetEl(identify())
<<" has already a transformation cached for hash "<<hash);
return StatusCode::FAILURE;
}
m_localToGlobalCaches.insert(std::make_pair(hash, std::make_unique<ActsTrk::TransformCache>(hash, make, this)));
return StatusCode::SUCCESS;
}
Amg::Transform3D MuonReadoutElement::globalToLocalTrans(const ActsGeometryContext& ctx) const {
return globalToLocalTrans(ctx, geoTransformHash());
}
......
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include <EventPrimitives/EventPrimitivesToStringConverter.h>
#include <GeoPrimitives/GeoPrimitivesHelpers.h>
......@@ -48,10 +48,7 @@ StatusCode RpcReadoutElement::initElement() {
ATH_MSG_VERBOSE("Layer "<<layer <<" has not sensor layout associated.");
continue;
}
ATH_CHECK(insertTransform(layHash,
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<RpcReadoutElement>(layHash));
#ifndef SIMULATIONBASE
const StripDesign& design{sensorLayout(layHash).design()};
ATH_CHECK(planeSurfaceFactory(layHash, m_pars.layerBounds->make_bounds(design.halfWidth(),
......
......@@ -57,10 +57,7 @@ StatusCode TgcReadoutElement::initElement() {
for (unsigned int gap = 1; gap <= nGasGaps(); ++gap) {
if (numWireGangs(gap)) {
const IdentifierHash layHash{constructHash(0, gap, false)};
ATH_CHECK(insertTransform(layHash,
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
#ifndef SIMULATIONBASE
const StripDesign& layout{wireGangLayout(gap)};
ATH_CHECK(planeSurfaceFactory(layHash, m_pars.layerBounds->make_bounds(layout.shortHalfHeight(),
......@@ -70,10 +67,7 @@ StatusCode TgcReadoutElement::initElement() {
}
if (numStrips(gap)) {
const IdentifierHash layHash{constructHash(0, gap, true)};
ATH_CHECK(insertTransform(layHash,
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
#ifndef SIMULATIONBASE
const StripDesign& layout{stripLayout(gap)};
/// We probably need a rotated version of these bounds. However, that's not part
......