Releases: rest-for-physics/framework
v2.3.9
-
Implemented error notifications at the end of
restManager
execution, ref #94. -
Fixes in
TRestAnalysisPlot
, ref. #99. -
Fix a bug in
TRestRun
when test run if off, and the returned event is NULL from the process. The NULL returned event will not be cloned to the output event, ref #95. -
Few other minor improvements.
Library, packages and project updates (Check their respective repositories to know about changes there):
-
rawlib updated to version 1.4.
-
detectorlib updated to version 1.4.
-
tracklib updated to version 1.2.
v2.3.8
-
TRestEventProcess::InitFromConfigFile
implements now a replacement of metadata members in the form[MetadataName::MemberName]
to use parameters from other metadata classes as initialization. -
pipeline/trexdm
. Added a test to use[TRestDetector::fPressure] as a parameter inside
TRestDetectorHitsToSignalProcess`. -
pipeline/trexdm
.Validation.root
has been updated. Some observables calculation was affected from using a different drift velocity. -
Few other minor improvements.
Library, packages and project updates (Check their respective repositories to know about changes there):
-
restG4
updated to version 1.4. -
geant4lib
updated to version 1.5. -
detectorlib
updated to version 1.3. -
tracklib
updated to version 1.1.
v2.3.7
-
TRestStringHelper::CreateTF1FromString
implemented. -
TRestRun::ReplaceMetadataMembers
fixing a potential bug when using square brackets [ ] inCreateTF1FromString
. -
TRestMesh::AddSphericalNode
fixing a bug at initialization from spherical hits, and few other bugs connected toTVector3
initialization. -
TRestMessengerAndReceiver
renamed toTRestMessenger
. -
TRestRealTimeDrawingProcess
was updated. -
TRestHits
updates in gaussian sigma observables. -
Now REST is compatible with c++17
-
Improved REST reflection so that we are able to change number precision, specially for timestamps.
Library, packages and project updates (Check their respective repositories to know about changes there):
-
geant4lib
updated to version 1.4. -
rawlib
updated to version 1.3. -
detectorlib
updated to version 1.2. -
connectorslib
updated to version 1.1.
v2.3.6
-
Added SVG logos.
-
Added pipeline badges at README.md and at PR integrating a GitHub application
Pull Request Badge
. -
Implemented output event sorting (useful in Multi-threading data processing) through the definition of
TRestProcessRunner::fSortOutputEvents
. It is enabled by default. -
Fixed bugs at
TRestMesh
,TRestMetadata::GetParametersList
, -
TRestStringHelper
added methodDiffString
. It is useful to identify misspelling of keywords, i.e. 1-character mismatch between RML parameter and metadata member. -
TRestReflector
addedLong64_t
data type support. -
TRestStringHelper::DataMemberNameToParameterName
now checks the second character of metadata member. -
TRestProcessRunner
now follows regular data member naming and it is linked to RML parameters following standard conventions. Examples updated accordingly. -
Many updates on gitlab pipelines.
-
TRestRawFFT
was recovered from quarantine. -
TRestMesh
was quickly adapted to be able to operate with spherical coordinates. -
REST_MakeProcess
macro updated to avoid implementation ofInitFromConfigFile
. -
pull-submodules.py
includes now an option to exclude different submodules `python3 pull-submodules.py --exclude:axionlib,restg4,geant4lib -
script
checkoutRemoteBranch.sh
added to pull a particular branchName. If it does not exist it will attempt to pull master. This is used for pipelines. -
pull-submodules.py --latest
will now attempt to pull the branchName submodule named as the framework branch, if it does not exist it will just pull the master branch. This is useful for pipeline validation. -
Important fixes on
TRestReflector
.
Library, packages and project updates (Check their respective repositories to know about changes there):
-
restG4
updated to version 1.3. -
geant4lib
updated to version 1.3. -
rawlib
updated to version 1.2.
v2.3.5
-
Zenodo reference has been added to the README.md
-
TRestRawSignalChannelActivity
bug fixing and added to validation pipeline. -
Added a new
restRootMacros
alias that loadsrestRoot
with macros available. -
Project migrated to C++14 standards.
-
TRestStringHelper
. Added few newTrim
methods. -
TRestEventSelectionProcess
has been implemented. It will allow to define few rules on a pre-processed ROOT file analysisTree, to re-process the original event file with a specific/reduced event selection fulfilling the conditions. It also accepts a text file with a list of event IDs. -
Updating institutional logos, and re-organized miscellaneous directory.
-
TRestMetadata::ReadAllParameters
has been split intoGetParameterList
andReadParameterList
. -
TRestEventProcess::InitFromConfigFile
now will attempt to replace metadata members inside the parameters space. I.e. using[TRestDetector::fSampling]
. See trexdm-quickAna repository, insideautoAnalysis/RMLs/03_hits.rml
for an example. -
New
ValidateDetectorParams.C
macro to validate the reading of detector parameters from filename. -
TRestRun::ReplaceMetadataMembers
<< >> delimiters changed by [ ]. -
Fixed many bugs and errors.
- Important fix related to resizing of window.
- Fixed an issue when defining analysisTree conditions using &&. Now we define && and || inside RMLs as AND and OR.
Library, packages and project updates (Check their respective repositories to know about changes there):
-
restG4
updated to version 1.2. -
geant4lib
updated to version 1.2. -
detectorlib
updated to version 1.1. -
rawlib
updated to version 1.1. -
iaxo-readouts
updated to version 1.0.
v2.3.4
v2.3.3
-
Fixed an issue with
REST_G4
variable that was not having effect atthisREST.sh
. -
Improved
cmake
compilation system to accept aREST_ALL_LIBS
variable that allows to enable/disable all libraries/packages at once. For example using:cmake -DREST_ALL_LIBS=ON -DRESTLIB_TRACK=OFF ../
. See closed issue #5. -
Improved
cmake
compilation system to automatically identify thesource/libraries/libname
withRESTLIB_LIBNAME
andsource/packages/restPkg
withREST_PKG
. See closed issue #17. -
dataURL has been removed from user space at
$HOME/.rest
to avoid problems when updating the file. See closed issue #9 -
Fixed compilation issue when enabling feature
REST_DECAY0
. See closed issue #6. -
pull-submodules.py
accepts now few new options:--clean
,--force
,--lfna
,--sjtu
and--latest
. We may for example use it to:python3 pull-submodules.py --lfna --latest
: Pull submodules includinglfna
repositories and each submodule at its latest development stage.python3 pull-submodules.py --clean
: It will remove any local changes and place the local repository at a clean state with submodules pointing to the official reference.
v2.3.2
-
Improvements on the cmake compilation system. New
COMPILELIB
andDIRNAME2LIBNAME
cmake functions that allow to define a standard way to relatepackages
andlibraries
to their compilation option. -
Submodules have been updated accordingly.
-
thisREST.sh
now will also load the ROOT, Geant4 and Garfield versions used during the compilation of REST. Simplifying the loading of REST-ROOT environment tosource /path/to/install/thisREST.sh
. Therefore, the user does not need to care which ROOT version should use with a particular REST version that could be installed officially at a given computing infrastructure.
v2.3.1
-
Two new members have been added to
TRestMetadata
:fOfficialRelease
andfCleanState
. The values of those members are initialised throughrest-config --release
andrest-config --clean
.fOfficialRelease
will be set toYes
if the commit at which REST was compiled corresponds with a tagged commit.fCleanState
will be set toYes
if there were no local modifications at the local source repository. Submodules should also be pointing to their official repository. It is possible to usesource clean-state.sh
to get at this state.
-
Few other minor fixes and arrangements
v2.3.0
Completely new directory structure:
-
We have differentiated the main framework classes at
source/framework
. Subdivided into:analysis
: Basic metadata classes and processes for pure analysis purposes.tools
: Basic helper classes, strings, physics, simple geometrical calculations, etc.core
: Main C++ classes prototyping REST classes, and providing REST basic artifacts, such as analysis tree, plotting tools, and event data or metadata visualisation.
-
The libraries are now placed under the directory
source/libraries/
. Any library is now outside the main repository and it is installed as a submodule. -
The packages are also connected to this main repository through submodules as
source/packages/
. -
There is a new directory at the repository named
projects
that we dedicate to host different standalone REST projects with public or restricted access.
Few considerations when moving from 2.2 to 2.3.
-
All public libraries and submodules can be downloaded using
python3.X pull-submodules.py
. -
All private libraries and submodules were you got access rights can be downloaded using
python3.X pull-submodules.py --private
. -
Libraries must be enabled at compilation time, when executing
cmake
. For example the detector library will be enabled using-DRESTLIB_DETECTOR=ON
or the raw library will be enabled using-DRESTLIB_RAW=ON
. Following always the convention-DRESTLIB_LIBDIRNAME=ON
. -
Packages compilation flag convention is similar. a
restPackage
will be added for compilation asREST_PACKAGE
. Just asrestG4
will be enabled using-DREST_G4=ON
. -
A new script has been added at the root directory,
clean-state.sh
that can be sourcedsource clean-state.sh
in order to assure the recover a clean git repository state that is identical to the remote repository. WARNING this will erase any local modifications or commits! -
We adopt for the first time a naming convention for c++ classes inside libraries. TRestLibName... For example, detector library classes will always start by
TRestDetector
. This will help to identify all the classes that have a common relation, by using auto-completion insiderestRoot
. Usually all library processes and metadata structures share a common event data type. -
This new naming convention has forced us to produce the renaming of many classes to follow the new library organisation. All renamed classes have been registered at the
framework/renamed.classes
file. -
There is a new script
updateClassNamesToV2.3.py
. This script uses therenamed.classes
file to apply a find and replace to the files with a given extension found in specific absolute or relative path. I.e. using it as:python3.X updateClassNamesToV2.3.py PATH FILE_EXTENSION
. Such aspython3.5 updateClassNamesToV2.3.py ../projects/ rml
.