NPDet issueshttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues2022-07-18T17:30:49Zhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/87Add an (Open Source) license?2022-07-18T17:30:49ZDmitry KalinkinAdd an (Open Source) license?The project lacks COPYING/LICENSE file.
Similar to https://eicweb.phy.anl.gov/EIC/eicd/-/issues/28The project lacks COPYING/LICENSE file.
Similar to https://eicweb.phy.anl.gov/EIC/eicd/-/issues/28https://eicweb.phy.anl.gov/EIC/NPDet/-/issues/77Calorimeter information tool2021-02-23T18:22:58ZWhitney ArmstrongCalorimeter information toolAdd a tool which parses xml to get calorimeter information.
- [ ] list materials
- [ ] Print material thicknesses
- [ ] Print calormeter thicknesses (for arbitrary ray)Add a tool which parses xml to get calorimeter information.
- [ ] list materials
- [ ] Print material thicknesses
- [ ] Print calormeter thicknesses (for arbitrary ray)Detector toolsJihee KimJihee Kimhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/91DD4hep compilation problem2023-10-06T01:03:01ZWhitney ArmstrongDD4hep compilation problemJob Failed #2010505
Job [#2010505](https://eicweb.phy.anl.gov/EIC/NPDet/-/jobs/2010505) failed for 89ae562564517ad1e131711e675cdf8012fd7560:
Not sure if the problem is `char16_t` or something else.Job Failed #2010505
Job [#2010505](https://eicweb.phy.anl.gov/EIC/NPDet/-/jobs/2010505) failed for 89ae562564517ad1e131711e675cdf8012fd7560:
Not sure if the problem is `char16_t` or something else.https://eicweb.phy.anl.gov/EIC/NPDet/-/issues/35dd_web_display not working properly with boolean shapes of boolean shapes wit...2021-09-23T15:30:49ZTom Polakovicdd_web_display not working properly with boolean shapes of boolean shapes with transformsIf you do, e.g.:
```
Box foo1(1,2,3);
Box foo2(4,5,6);
UnionSolid bar(foo1, foo2);
UnionSolid baz1(bar, bar);
UnionSolid baz2(bar, bar, Transform3D(Rotation(M_PI));
```
`baz1` will display, but `baz2` will not. Everything works fine,...If you do, e.g.:
```
Box foo1(1,2,3);
Box foo2(4,5,6);
UnionSolid bar(foo1, foo2);
UnionSolid baz1(bar, bar);
UnionSolid baz2(bar, bar, Transform3D(Rotation(M_PI));
```
`baz1` will display, but `baz2` will not. Everything works fine, if you use ddeve.Whitney ArmstrongWhitney Armstronghttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/78Fix Build - Cmake argument2021-09-23T15:26:09ZJihee KimFix Build - Cmake argumentWith newest dd4hep version, it need to add the cmake argument `-DCMAKE_CXX_STANDARD=17`With newest dd4hep version, it need to add the cmake argument `-DCMAKE_CXX_STANDARD=17`Whitney ArmstrongWhitney Armstronghttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/88Implement reading from gzipped hepmc input2022-08-30T00:28:24ZWouter DeconinckImplement reading from gzipped hepmc inputhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/76Material mapping2021-07-01T20:24:23ZWhitney ArmstrongMaterial mappingAdd a material mapping tool.Add a material mapping tool.Detector tools2021-05-20https://eicweb.phy.anl.gov/EIC/NPDet/-/issues/79npsim gun shoudl have --gun.etaMin and --gun.etaMax2021-06-17T00:46:02ZWouter Deconincknpsim gun shoudl have --gun.etaMin and --gun.etaMaxFor simulations uniform over eta, it might make sense to have a parallel setting to
```
--gun.thetaMin GUN.THETAMIN
--gun.thetaMax GUN.THETAMAX
```
that allow one to set eta min and max:
```
--gun.etaMin GUN.ETAMIN
--gun.etaMax G...For simulations uniform over eta, it might make sense to have a parallel setting to
```
--gun.thetaMin GUN.THETAMIN
--gun.thetaMax GUN.THETAMAX
```
that allow one to set eta min and max:
```
--gun.etaMin GUN.ETAMIN
--gun.etaMax GUN.ETAMAX
```
It would need some way of figuring out what to do when both etaMin/Max and thetaMin/Max are passed.
https://eicweb.phy.anl.gov/EIC/NPDet/-/blob/master/src/dd4pod/python/npsim/DDSim/Helper/Gun.py#L121https://eicweb.phy.anl.gov/EIC/NPDet/-/issues/71npsim should quit gracefully when input file does not exist2020-11-25T02:54:18ZSylvester Joostennpsim should quit gracefully when input file does not existCurrently, npsim crashes with some ugly memory allocation related when the input file does not exist. We should sanitize our input better and print a descriptive error message instead.
![Screen_Shot_2020-11-19_at_3.03.32_PM](/uploads/48...Currently, npsim crashes with some ugly memory allocation related when the input file does not exist. We should sanitize our input better and print a descriptive error message instead.
![Screen_Shot_2020-11-19_at_3.03.32_PM](/uploads/487d0dd7288925ddb51bb085411638a3/Screen_Shot_2020-11-19_at_3.03.32_PM.png)https://eicweb.phy.anl.gov/EIC/NPDet/-/issues/85sanitize_hepmc3 fails to add END_EVENT_LISTING after discarding partial event2021-11-08T20:59:33ZWouter Deconincksanitize_hepmc3 fails to add END_EVENT_LISTING after discarding partial eventIf the input hepmc3 file ends with a partial event, the final partial event is dropped but contrary to log messages, no `END_EVENT_LISTING` is appended.
```
WARNING: File does not end with END_EVENT_LISTING, appending
WARNING: Invalid pa...If the input hepmc3 file ends with a partial event, the final partial event is dropped but contrary to log messages, no `END_EVENT_LISTING` is appended.
```
WARNING: File does not end with END_EVENT_LISTING, appending
WARNING: Invalid particle count for event: E 305 8 20 @ -7.4609364157173369e-02 -7.7988299819229476e-03 9.6855910264790026e+00 -7.2251504307264325e+00
--> skipping event
WARNING: Skipped invalid event E 305 8 20 @ -7.4609364157173369e-02 -7.7988299819229476e-03 9.6855910264790026e+00 -7.2251504307264325e+00
```
At the end of the file, when going into flush_buffer, the buffer has the partial event with the `END_EVENT_LISTING` appended:
```python
if not end_reached:
warn("File does not end with END_EVENT_LISTING, appending")
buffer.append('HepMC::Asciiv3-END_EVENT_LISTING\n')
# final buffer flush at the end
flush_buffer(header, buffer)
```
However, flush_buffer drops the entire buffer, including the `END_EVENT_LISTING` and returns:
```python
def flush_buffer(header, buffer):
if header:
event_record = header.get_record()
if not event_record:
warn('Skipped invalid event', header.raw)
return
sys.stdout.write(header.get_record())
for line in buffer:
sys.stdout.write(line)
```
A likely fix may be to flush the buffer before `if not end_reached:`, then append the `END_EVENT_LISTING` again, and flush the buffer again.
That leaves as a case that will result in a missing `END_EVENT_LISTING` an input file that ends with `END_EVENT_LISTING` after an actual incomplete event, in which case the final buffer includes the `END_EVENT_LISTING`, is dropped, and doesn't trigger the `if not end_reached:`.
Maybe we can also just always drop END_EVENT_LISTING from the input, and always end by writing `END_EVENT_LISTING` to the output.Sylvester JoostenSylvester Joostenhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/82Set charge by pdg ID in hepmc reader2021-08-23T03:36:35ZWouter DeconinckSet charge by pdg ID in hepmc readerMcparticles has charge set to zero, per https://github.com/AIDASoft/DD4hep/issues/696. We should make sure charge is not set to zero.Mcparticles has charge set to zero, per https://github.com/AIDASoft/DD4hep/issues/696. We should make sure charge is not set to zero.Wouter DeconinckWouter Deconinckhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/90Support FastSim and GFlash2022-10-10T21:14:58ZWouter DeconinckSupport FastSim and GFlashE.g. https://github.com/MarkusFrankATcernch/DD4hep/blob/master/examples/ClientTests/scripts/SiliconBlockFastSim.py and related.E.g. https://github.com/MarkusFrankATcernch/DD4hep/blob/master/examples/ClientTests/scripts/SiliconBlockFastSim.py and related.Wouter DeconinckWouter Deconinckhttps://eicweb.phy.anl.gov/EIC/NPDet/-/issues/65Use MADX files to get beamline parameters2021-09-23T15:49:11ZWhitney ArmstrongUse MADX files to get beamline parametersUse the latest accelerator design files, which come in the form of MADX/BMAD files, to extract the beamline parameters. These can include magnet positions, sizes, and field strengths.
- [madx](madx.web.cern.ch/)
- [bmad](https://www.cla...Use the latest accelerator design files, which come in the form of MADX/BMAD files, to extract the beamline parameters. These can include magnet positions, sizes, and field strengths.
- [madx](madx.web.cern.ch/)
- [bmad](https://www.classe.cornell.edu/bmad/)EIC beamline and IR integrationWhitney ArmstrongWhitney Armstrong