TWiki
>
Sandbox/SandboxArchive Web
>
TWikiUsers
>
JuanAldea
>
JuanAldeaSandbox
(2020-08-30,
TWikiAdminUser
)
E
dit
A
ttach
P
DF
Breaking retrocompatibility
Code works using the premise that it is looping over hits of one category only, hits are already filtered.
Removing these nethods
const
HitPattern
&
TrackBase
::hitPattern() const;
const
HitPattern
&
TrackBase
::trackerExpectedHitsInner() const;
const
HitPattern
&
TrackBase
::trackerExpectedHitsOuter() const;
So instead of calling:
trackBase.hitPattern().method();
trackBase.trackerExpectedHitsInner().method();
trackBase.trackerExpectedHitsOuter().method();
we would call methods giving a category of hits to loop over:
trackBase.hitpattern().method(TRACK_HITS);
trackBase.hitpattern().method(EXPECTED_INNER_HITS)
trackBase.hitpattern().method(EXPECTED_OUTER_HITS);
trackBase.hitpattern().method(ALL_HITS); // ALL_HITS is the default category
Cleaner & useful but we would need to change tons of code:
https://cmssdt.cern.ch/SDT/lxr/ident?i=hitPattern
https://cmssdt.cern.ch/SDT/lxr/ident?i=trackerExpectedHitsInner
https://cmssdt.cern.ch/SDT/lxr/ident?i=trackerExpectedHitsOuter
Keeping retrocompatibily requires:
Filtering hits and creating new
HitPatterns
filled with hits of one category only (TRACKER/EXPECTED_INNER/EXPECTED_OUTER)
Lazily created cache --> uses four times more memory at runtime (original + 3 filtered copies), some new/delete time overhead.
We can still have the hit category aproach mentioned before by adding a default category:
T trackBase.hitpattern().method() { return trackBase.hitpattern().method(this->defaultCategory) };
--
JuanAldea
- 24 Feb 2014
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r2
<
r1
|
B
acklinks
|
R
aw View
|
WYSIWYG
|
M
ore topic actions
Topic revision: r2 - 2020-08-30
-
TWikiAdminUser
Log In
Sandbox/SandboxArchive
Sandbox/SandboxArchive Web
Create New Topic
Index
Search
Changes
Notifications
Statistics
Preferences
Public webs
Public webs
ABATBEA
ACPP
ADCgroup
AEGIS
AfricaMap
AgileInfrastructure
ALICE
AliceEbyE
AliceSPD
AliceSSD
AliceTOF
AliFemto
ALPHA
Altair
ArdaGrid
ASACUSA
AthenaFCalTBAna
Atlas
AtlasLBNL
AXIALPET
CAE
CALICE
CDS
CENF
CERNSearch
CLIC
Cloud
CloudServices
CMS
Controls
CTA
CvmFS
DB
DefaultWeb
DESgroup
DPHEP
DM-LHC
DSSGroup
EGEE
EgeePtf
ELFms
EMI
ETICS
FIOgroup
FlukaTeam
Frontier
Gaudi
GeneratorServices
GuidesInfo
HardwareLabs
HCC
HEPIX
ILCBDSColl
ILCTPC
IMWG
Inspire
IPv6
IT
ItCommTeam
ITCoord
ITdeptTechForum
ITDRP
ITGT
ITSDC
LAr
LCG
LCGAAWorkbook
Leade
LHCAccess
LHCAtHome
LHCb
LHCgas
LHCONE
LHCOPN
LinuxSupport
Main
Medipix
Messaging
MPGD
NA49
NA61
NA62
NTOF
Openlab
PDBService
Persistency
PESgroup
Plugins
PSAccess
PSBUpgrade
R2Eproject
RCTF
RD42
RFCond12
RFLowLevel
ROXIE
Sandbox
SocialActivities
SPI
SRMDev
SSM
Student
SuperComputing
Support
SwfCatalogue
TMVA
TOTEM
TWiki
UNOSAT
Virtualization
VOBox
WITCH
XTCA
Cern Search
TWiki Search
Google Search
Sandbox/SandboxArchive
All webs
Copyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback