GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » Fairroot » General Discussion » FairHit - why only 32bit precision??
FairHit - why only 32bit precision?? [message #22104] Fri, 19 January 2018 12:05 Go to previous message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 96
Registered: February 2012
continuous participant
From: *specf.him.uni-mainz.de
Hi,

why is the position information of the FairHit saved to disk in only 32bit precision? See code snipped below
Quote:

Double32_t fDx, fDy, fDz; ///< Errors of position [cm]
Int_t fRefIndex; ///< Index of FairMCPoint for this hit
Int_t fDetectorID; ///< Detector unique identifier
Double32_t fX, fY, fZ; ///< Position of hit [cm]


I thought that at the end the whole reconstruction chain will be one big processing pipeline anyway (stacking of all fair tasks together), and there is no need to write any intermediate files to disk. So regarding this using Double32_t is fine (it only converts to 32bit precision when writing to disk). Unfortunately for debugging/development reasons the intermediate files are often written to disk and then read in by another macro+task. At this point the precision is lost (about a micron).

Therefore my question. Why not change it to normal double? Because for debug/development runs it does not matter if you dump the higher precision data on disk. And for the experiment runs you probably don't want to dump the FairHits to disk, right?

Best regards,
Stefan
 
Read Message
Read Message
Previous Topic: Task (or macro, I dont know) stops after one event
Next Topic: PID information
Goto Forum:
  


Current Time: Mon Apr 22 22:13:00 CEST 2019

Total time taken to generate the page: 0.02861 seconds