eic / eic/irt

Friendly coding suggestions:

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
0
Forks
0
Avg merge
4d 20h
Merged PRs (30d)
1

Description

Opened by @whit2333 at https://eicweb.phy.anl.gov/EIC/irt/-/issues/5

***

Here are some comments I have to make while briefly going through the code.

- [ ] ROOT's TObject is not really needed anymore.
- [ ] Avoid using ROOT specific-stuff unless it is really needed. Example from my experience, `TRef` is usually more of a headache than helpful.
- [x] From my other issue about using `#include` quotes : https://stackoverflow.com/a/3162067/13377601
- [ ] Avoid unnecessary inheritance. Example: `TObject -> TransientParticle -> {ChargedParticle, OpticalPhoton}`. I do not see any polymorphism in the interface so there is no need for inheritance at all here.
- [ ] The code is hard to read with all the pre-processor defines and logic.
- [ ] The `IRT::Solve` member function should (ideally) be `const`.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue lists broad concerns about ROOT dependencies, inheritance, preprocessor logic, and making IRT::Solve const, but names no files or tests. Start by locating the TransientParticle hierarchy and IRT::Solve, then separate the concerns into scoped changes. Done would require agreed criteria for each refactor and validation that the library still builds and behaves correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.