Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
7e30f69
Poll2 parse debugging updated.
Oct 26, 2016
4976d3d
Poll2 parse debug message correction.
Oct 26, 2016
7ea1a8b
Poll2 parse errors display each error.
Oct 26, 2016
242cf88
pread/write uses ranges and reads hex input.
Oct 20, 2016
7105c54
Improved efficiency of Gsl2Fitter
spaulaus Nov 27, 2016
6f14830
Named a magic number in the Gsl2Fitter.cpp
spaulaus Nov 30, 2016
f2adce8
Addressing scoping change in Fitting Analyzer.
spaulaus Nov 30, 2016
ac284e3
Removed unnecessary header and fixed if statement.
spaulaus Nov 30, 2016
736478e
Fixes compilation issues with Gsl1Fitter
tking53 Nov 30, 2016
106a03b
Adding cmake to find UnitTest++ for performing unit tests
spaulaus Nov 23, 2016
4489ff5
Preparing to add some unit tests for the core classes
spaulaus Nov 24, 2016
318909d
Fixed up compilation so that we can build the unit tests for Core
spaulaus Nov 25, 2016
120c444
Adding unit tests for testing the output of the Model methods
spaulaus Nov 25, 2016
d65dfe0
Writing tests for Identifier
spaulaus Nov 26, 2016
cf2ac99
Adding test fixture to test the GetCorrection method.
spaulaus Nov 27, 2016
864cd56
Moved where we look for the UnitTest++ library and added new flag
spaulaus Dec 2, 2016
43114c0
Updated cmake module to look for the default UnitTest++ install dir.
spaulaus Dec 2, 2016
c1e5c7f
Removed pixie16app_defs.h from the Scan side of the project
spaulaus Nov 25, 2016
5569cbd
Changed poll2 reboot message. (#145)
ksmith0 Dec 7, 2016
4fd26c4
Revised booting to inspect module type.(Multiconf)
Oct 19, 2016
73888f2
Updated FindPXI to allow user modification.
Oct 19, 2016
de94e10
Updated FindPXI module.
Oct 20, 2016
d14b789
Added multiple ModuleType warning and ignore.
Oct 21, 2016
d174183
Updated FindPXI to look in /opt/xia/software
Oct 21, 2016
1a0a0b5
FindPXI PXI_CONFIG for revd
Oct 21, 2016
8d16fb5
Changed PXI_CONFIG for revd modules
Oct 21, 2016
9323b99
Removed comment around PixieInterface::Boot
Oct 21, 2016
34fc4d5
Updated PrintModuleInfo.
Oct 21, 2016
66d2871
Amended pixie.cfg error messages.
Dec 7, 2016
96d00b0
Added pixie.cfg readme block.
Dec 8, 2016
8ea8e48
Updated Configuration File Parse to be more strict.
Dec 8, 2016
9ba571d
Adjusted Read Configuration to list Base Dir.
Dec 8, 2016
86c3aa3
Corrected mod-chan range '-1' issue.
Dec 9, 2016
c092007
Added ranges to pmread / pmwrite & hex capability.
Dec 9, 2016
65cde66
Added ranges to adjust_offsets.
Dec 9, 2016
fdb8604
Added ranges to toggle.
Dec 9, 2016
66ff008
Changed pmwrite / adjust_offsets DSP write.
Dec 9, 2016
d18134f
Added hex capability to csr_test.
Dec 9, 2016
5ff0d37
Updated CTerminalTest to display TERM.
Dec 12, 2016
b45873e
Abstracted ROOT canvas from scope to RootScanner.
Dec 19, 2016
2b793ef
Update to gitIgnore to exclude doxywarning.txt
tking53 Dec 13, 2016
be7e21f
Added doxywarning.txt/ Changed doc/doxyfile
tking53 Dec 14, 2016
fafdb82
Fixing doxygen build
spaulaus Dec 15, 2016
438833c
Removing list of known detectors.
spaulaus Nov 23, 2016
26874f7
Added new cfd algorithm
Nov 21, 2016
a13ffbc
Removed ChannelEvent::CorrectBaseline()
Nov 21, 2016
d44ae5e
Now save pol3 params inside ChannelEvent class
Nov 21, 2016
29bea3f
Added cfd polynomials to scope
Nov 22, 2016
147c977
Fixed 2nd and 3rd order polynomial rounding error
Nov 22, 2016
e8a8e15
Removed debug statements from XiaData.cpp
Nov 22, 2016
5493630
Updated calculateP3 function for readability
Nov 22, 2016
4e0b646
Creating the HelperFunction header. Rearranging files to generalize.
spaulaus Dec 15, 2016
7dbdc4e
Updated helper functions to add the TailRatio calculation
spaulaus Dec 15, 2016
f73fdf0
Templating the helper functions for more flexibility
spaulaus Dec 15, 2016
f76d508
Forgot to template the Polynomial functions
spaulaus Dec 15, 2016
d7c0bf9
FitDriver is now TimingDriver. Adding and updating tests
spaulaus Dec 18, 2016
74ddec4
Fixing variable length array warning.
spaulaus Dec 18, 2016
ba691f9
Moving Trace Information for Unittests to dedicated file
spaulaus Dec 18, 2016
f1a9cf5
Updating example trace and TimingDriver
spaulaus Dec 19, 2016
cf42ae1
Updating utkscan to use the new HelperFunctions.
spaulaus Dec 19, 2016
c0881a7
Fixing errors in CalculatePoly2 and updating tests
spaulaus Dec 19, 2016
24445e9
Fixing issue in the GetPhase method of HighResTimingData
spaulaus Dec 20, 2016
da954c5
PolynomialCfd is now implemented.
spaulaus Dec 20, 2016
5c6e9bb
Implementing TraditionalCfd
spaulaus Dec 20, 2016
9336b65
Adding baseline subtraction to the trace
spaulaus Dec 21, 2016
9b793d0
Set the CFDs to only work on baseline subtracted traces.
spaulaus Dec 21, 2016
75de869
Adding some TODOs to the Unpacker
spaulaus Dec 21, 2016
3bd0de1
Making changes to address issues raised by @ksmith0
spaulaus Jan 3, 2017
4b80ee5
Updated terminal to handle ASCII codes for BS/DEL.
Dec 12, 2016
54891c3
Adding unit tests for the new Decoder
spaulaus Dec 27, 2016
6c2e272
Creating class that provides XIA bit masks and bit shifts f
spaulaus Dec 30, 2016
c05bd1e
Updating XiaData, adding unit tests, Updating XiaListModeDataMask
spaulaus Dec 31, 2016
831bdee
The encoder class is now complete enough to deploy.
spaulaus Dec 31, 2016
6744494
Updating Decoder and Mask to handle CFD info and Time Calculations
spaulaus Jan 2, 2017
0300d79
Updating decoder to return a vector of pointers to the newed data
spaulaus Jan 2, 2017
9ad218b
Data can be scanned properly with utkscan. Updated files for changes
spaulaus Jan 2, 2017
4677b8e
Updating scope to handle new access to traces.
spaulaus Jan 2, 2017
749abd2
Rearranging location of Unit Test Test data to make it more useful
spaulaus Jan 4, 2017
86b9d54
Fixing issues found during review process
spaulaus Jan 4, 2017
a51a25f
Added GetOutputName to globals
tking53 Jan 5, 2017
9270d47
Making Requested Changes
tking53 Jan 5, 2017
986d9e9
Adding simple Jenkinsfile to tracking
spaulaus Jan 8, 2017
ad0bd7e
some simple updates
spaulaus Jan 9, 2017
f0677cb
Fixing some header issues
spaulaus Jan 9, 2017
706661c
Few more missing headers
spaulaus Jan 9, 2017
b1a42ab
Removing Jenkins file from tracking since its unnecessary.
spaulaus Jan 10, 2017
d0a88d8
Fixing HelperFunction unit test so that all tests pass
spaulaus Jan 10, 2017
b3cfc7a
Fixing issues with GslFitters, Unit Tests.
spaulaus Jan 10, 2017
e55d0e5
Removing unnecessary Cmake Flag
spaulaus Jan 10, 2017
3806fc3
Fixing bug in Gsl1Fitter
spaulaus Jan 10, 2017
e74d5cd
Remvoing constexpr since it requires c++std11
spaulaus Jan 10, 2017
2b35924
Some more updates to get compiled on kqxhc
spaulaus Jan 10, 2017
d3d159b
Fixed pld format incorrect max_spill_size
Dec 28, 2016
376a688
Fixed pld format run number display
Dec 28, 2016
6a99501
Fixed ldf header not being initialized properly
Dec 28, 2016
da84abd
Fixed pld ACQ time not being set correctly
Dec 28, 2016
a4297f6
Removing throw for Bad Event Length error
spaulaus Jan 13, 2017
01aa1cb
Just skipping ahead in the buffer is a bad idea.
spaulaus Jan 13, 2017
902257f
Updated error message to include module number
spaulaus Jan 13, 2017
69f79a5
Adding a missing header.
spaulaus Jan 13, 2017
1beb17e
Now properly handling the sign of the x^2 coefficient
spaulaus Jan 11, 2017
d5f3047
If the USE_ROOT Flag was turned off, then we couldn't compile ScanLib
spaulaus Jan 13, 2017
cc3055d
Updating TemplateExpProcessor to remove warnings.
spaulaus Jan 13, 2017
4d8cd0c
Adding TwoChanTimingProcessor to compilation
spaulaus Jan 13, 2017
6ce546a
Adding IS600Processor to compilation
spaulaus Jan 13, 2017
a803318
Removing the E11006Processor since it is not needed
spaulaus Jan 13, 2017
9e6aced
Some Processors require ROOT to function.
spaulaus Jan 13, 2017
50a7fec
Updating Anl1471Processor
spaulaus Jan 13, 2017
7d5054e
Adding VandleOrnl2012Processor.
spaulaus Jan 13, 2017
90470e4
Undesired change snuck into DetectorDriver
spaulaus Jan 13, 2017
5f93d52
Fix to prevent scope from segfaulting.
spaulaus Jan 13, 2017
037ad6a
Fixing bug in the Waveform and Fitting Analyzers
spaulaus Jan 13, 2017
db35155
Fixing issue #168
spaulaus Jan 13, 2017
04e40a4
Actually fixing #168
spaulaus Jan 13, 2017
a3b9ca8
Closes #181
spaulaus Jan 19, 2017
e71ff3a
Resolves #186
spaulaus Jan 23, 2017
cdc4749
Fixing error on the extrapolated maximum
spaulaus Jan 17, 2017
d7a658a
Resolves #191 - Skeleton failes to compile with HRIBF Libs
spaulaus Jan 23, 2017
9137571
Fixes #120
spaulaus Jan 25, 2017
e821d25
Wrapping the TreeCorrelator calls in try/catches.
spaulaus Jan 25, 2017
3ae7e73
Replacing exits with throws until we get back up to main
spaulaus Jan 25, 2017
4d6b07c
ConvertStringToFirmware now tests against ranges
spaulaus Jan 18, 2017
e474a07
Adding new firmwares to the enumeration
spaulaus Jan 23, 2017
896d2a8
Updating the XiListModeDataMask to handle older firmwares.
spaulaus Jan 23, 2017
56e9d7c
Adding additional logic since older firmwares are less consistent.
spaulaus Jan 23, 2017
0623e19
Added stdexcept to XiaListModeDataMask.cpp.
sztaylor89 Jan 24, 2017
3a55560
Fixes bad mask, and updates names for error messages
spaulaus Jan 25, 2017
473844c
Allows the use of r in the firmware string
spaulaus Jan 25, 2017
62170fd
Fixes #184
spaulaus Jan 23, 2017
4eabf6a
Moved INSTALL_PREFIX definition.
Jan 30, 2017
d74925f
Massive overhaul to directory structure.
spaulaus Jan 31, 2017
7cc078a
Adjusting the CMakeLists files for new compilation paths
spaulaus Jan 31, 2017
099c854
Populating the Resources directory with things that will be useful.
spaulaus Jan 31, 2017
b24e444
Changing how 3rd party libraries are built. Fixing main CMakeLists
spaulaus Jan 31, 2017
c8147ea
Forgot to stage a change to the utkscan CMakeLists
spaulaus Jan 31, 2017
2d47aca
Updating doxyfile to accomodate changes to directory structure.
spaulaus Feb 1, 2017
23f4d92
Tells the user where to go to find more information about the firmware.
spaulaus Jan 23, 2017
ac6ece8
Adjusting output to tell user where they can locally find info.
spaulaus Jan 26, 2017
23e15bf
Accounting for changes in the directory structure.
spaulaus Feb 1, 2017
b5d2036
Fixed incorrect DATA buffer size due to spill footer
Feb 1, 2017
976d769
Resolves #72
spaulaus Feb 1, 2017
c2935de
Fixing compiler warnings in utkscan
spaulaus Feb 1, 2017
bb22b1d
Resolved an initialization error in HisDrr.cpp
Feb 3, 2017
2445d4f
Fixes #207 - Adding missing header into the files
spaulaus Feb 3, 2017
79a5efe
Changed default install directory.
Feb 3, 2017
55cde64
Corrected messages in FindPXI.cmake
Feb 3, 2017
e3718f9
Added headers to the columns in monitor.
sburcher Feb 3, 2017
a958af0
Renamed FindPXI to FindXIA
Feb 3, 2017
3a8f995
I changed the MAX_FILE_SIZE defintion (Line 55) from 4GB (4294967296…
Feb 6, 2017
456b9ca
Adding in new CMake module to allow for dependent options
spaulaus Feb 6, 2017
7bd69e4
Adding additional check on GSL in the utkscan CMakeLists
spaulaus Feb 7, 2017
66a032d
Renaming Clear method to Initialize since that's what it's used for.
spaulaus Jan 30, 2017
bdad124
Replacing ChannelEvent with ProcessedXiaData to make it more clear.
spaulaus Jan 30, 2017
9ceb910
Moving the modified files on this branch to the proper location.
spaulaus Feb 1, 2017
5c747b0
Making the Trace class more generic moving to ScanLibraries
spaulaus Feb 3, 2017
3c8c0ba
Updating Trace class with a few more methods
spaulaus Feb 3, 2017
ffa4073
Updating the CMakeLists for the ScanLibraries
spaulaus Feb 3, 2017
fc5be73
ProcessedXiaData now contains the Trace class. Adding Methods.
spaulaus Feb 3, 2017
834d74f
Removing ChannelData and ChannelEvent from compilation
spaulaus Feb 3, 2017
39dfd66
Fixing assignment in ProcessedXiaData::SetIsValidData
spaulaus Feb 3, 2017
e1af420
Adding in the GetTrace() method. This overrides the one from the parent
spaulaus Feb 3, 2017
c603c89
Changing the way the Trace is accessed.
spaulaus Feb 3, 2017
3cdb617
Fitting using scope now works as it should.
spaulaus Feb 3, 2017
61633b3
Trace class can now accept more input data
spaulaus Feb 3, 2017
ef42196
Renaming some of the libraries for clarity.
spaulaus Feb 3, 2017
dfba034
Updating TraceAnalyzer Class so that it now handles plotting
spaulaus Feb 3, 2017
38d347e
Finishing up the CMakeLists changes.
spaulaus Feb 3, 2017
691e2e8
Updating the Analyzers so that they now plot correctly.
spaulaus Feb 3, 2017
5703753
These experiment processors were missing a header.
spaulaus Feb 3, 2017
c6083ad
Finishing up CMakeChanges for realzies.
spaulaus Feb 3, 2017
a8ea6ed
More changes related to the changes made in Trace class.
spaulaus Feb 3, 2017
1869fe1
Updating DetectorDriver so that it access trace information properly.
spaulaus Feb 3, 2017
6217242
Removin the files that are no longer needed.
spaulaus Feb 3, 2017
5d4faa5
Removing ProcessedXiaData cpp since everythings handled in the header.
spaulaus Feb 6, 2017
bfc7356
Adding the signal to noise ratio calcualtion to the Trace class.
spaulaus Feb 6, 2017
e68d873
Major overhaul to the data classes is complete
spaulaus Feb 6, 2017
d85730c
Fixing header issue that prevented compilation on kqxhc
spaulaus Feb 6, 2017
b55b81d
Fixing issue with histograms for the Analyzers.
spaulaus Feb 7, 2017
512c074
Added parenthesis to BarBuilder to be explicit.
Feb 10, 2017
ac90310
Resolves Issue #224 - build fails when one of XIA or PLX is installed
spaulaus Feb 9, 2017
4743c42
Adjusted build sot hat the set2* programs will still build
spaulaus Feb 9, 2017
ba3b078
Updated cmake options to be prepended with PAASS_.
spaulaus Feb 8, 2017
5baae77
Missed prepending one of the USE_NCURSES with PAASS_
spaulaus Feb 13, 2017
c8e4552
Adding header that contains functions related to string manipulation
spaulaus Feb 9, 2017
c79f1cb
Removing string namespace from utkscan::Globals
spaulaus Feb 9, 2017
d279d97
Most of the constants defined in the Globals class were unused
spaulaus Feb 9, 2017
7863291
Removing the unnecessary NAN definition.
spaulaus Feb 9, 2017
6c1222f
XmlInterface compiles without issues
spaulaus Feb 9, 2017
7dd72ea
Globals has been updated to use the XmlInterface class
spaulaus Feb 9, 2017
a06ba90
Adding a header that contains various constants.
spaulaus Feb 11, 2017
14a26ed
Adding a function to convert seconds to different time units.
spaulaus Feb 11, 2017
e63fd93
Updating messages in the XmlInterface
spaulaus Feb 11, 2017
8d0482b
Removing Xml Parsing from Globals into XmlParser class
spaulaus Feb 11, 2017
b411675
Updating analyzers to use the new Globals methods.
spaulaus Feb 11, 2017
f2d17ba
Updating utkscan Core to use the new Globals methods
spaulaus Feb 11, 2017
3f669ba
Updating EventProcessors to use the new Globals Methods.
spaulaus Feb 11, 2017
2f8bcb3
Updating pugixml source code
spaulaus Feb 12, 2017
f2bdb0f
Abstracting the XmlParser and moving to Resources
spaulaus Feb 13, 2017
eef8929
Making the error checking methods protected instead of private
spaulaus Feb 13, 2017
3984e42
Adding GlobalsXmlParser
spaulaus Feb 13, 2017
9d7a615
Updaing the XmlInterface error message to contian pugixml info
spaulaus Feb 13, 2017
f93f046
The MapNodeXmlParser has taken over from DetectorLibrary
spaulaus Feb 14, 2017
2f3a89b
MapNodeXmlParser handles everything in the map node.
spaulaus Feb 20, 2017
61ee55b
Processors are now parsed and loaded via the DetectorDriverXmlParser
spaulaus Feb 20, 2017
fe63d85
Notebook is now updated to use the XmlInterface
spaulaus Feb 20, 2017
2133c39
XML parsing removed from TreeCorrelator and into TreeCorrelatorXmlParser
spaulaus Feb 20, 2017
8745762
Removing the last remains of XML from the Globals Class.
spaulaus Feb 21, 2017
c137704
Now loading the configuration in UtkScanInterface::Initalize
spaulaus Feb 21, 2017
2fae0da
Fixing error message so that it outputs the proper node name.
spaulaus Feb 21, 2017
8857c7a
Updating TraceAnalyzers so that it is not initalized before everything
spaulaus Feb 21, 2017
89ab75b
Fixing the TraceExtractor so that it plots traces properly.
spaulaus Feb 21, 2017
d5bdc72
Changing how the output file is handled. Provides more flexibility.
spaulaus Feb 24, 2017
bd0b5d5
Updating processor to use the appropriate output methods.
spaulaus Feb 24, 2017
406ba27
Fixing bug in GlobalsXmlParser where fitting parameters weren't read.
spaulaus Feb 24, 2017
3171e91
Updating issues found during review.
spaulaus Feb 28, 2017
b39449f
Reorganising the order that include directories happen.
spaulaus Feb 28, 2017
004675c
Adding missing header file to the XmlParser.
spaulaus Feb 28, 2017
94cde0b
Updated UnitTestSampleData to have the QDC for the trace.
spaulaus Feb 23, 2017
4ca3e85
Updating RootFitter so that it fits properly. Updating unit tests.
spaulaus Feb 23, 2017
c12bcd1
Updating FittingAnalyzer to enable use of RootFitter.
spaulaus Feb 23, 2017
6d7f6e1
Updating the TwoChannelTimingProcessor to facilitiate easier testing.
spaulaus Feb 23, 2017
0e2609b
Updating TwoChanTimingProcessor to include more plots.
spaulaus Feb 23, 2017
54cd966
Updating the VandleTimingFunction
spaulaus Feb 23, 2017
005e3ae
Modifying if statement for simplicity
spaulaus Feb 23, 2017
4e7486c
Removing unused header from RootFitter.cpp
spaulaus Feb 23, 2017
73b4c71
Updating the headers for the RootFitter.
spaulaus Feb 24, 2017
f3ca2f2
Updating scope so that it performs the fit with the defined function
spaulaus Feb 24, 2017
4f5a78e
Removing all mention of ADC_TIME_STEP
spaulaus Feb 24, 2017
77f367b
Resolving missing header on test machine.
spaulaus Feb 28, 2017
aa1474a
Fixing issue when root is missing from the system.
spaulaus Feb 28, 2017
e89810c
Add Clarification to the 2 functions that return baseline information
tking53 Feb 22, 2017
1f5c39e
Making requested Changes
tking53 Mar 1, 2017
9eca71e
Files are now organized more coherently. Code compiles as expected.
spaulaus Feb 27, 2017
87dcc8d
Resloves Issue #240
spaulaus Mar 1, 2017
8a64567
Removing amplitude check in the GslFitter unittest
spaulaus Mar 5, 2017
2e52da6
Resolves #247 - Bad logic in the GlobalsXmlParser::ParseRejectNode
spaulaus Mar 2, 2017
d295918
UtkUnpacker.cpp was modified to load eventWidth from Globals
rin-yokoyama Mar 14, 2017
d120a5b
requested change to #254
rin-yokoyama Mar 14, 2017
abd5895
UtkUnpacker.cpp was modified to load eventWidth from Globals
rin-yokoyama Mar 14, 2017
d036b7c
requested change to #254
rin-yokoyama Mar 14, 2017
1da1c8e
event width initialization moved to UtkScanInterface::Initialize()
rin-yokoyama Mar 21, 2017
58bcaec
Readded QDC compression to the VANDLE histograms
tking53 May 11, 2017
7ffac8e
adds zero check to qdcCompression
tking53 May 11, 2017
888cbba
Corrected bug in poll2's pwrite command.
ksmith0 Apr 25, 2017
4b632b9
Added a save command to poll2.
ksmith0 Apr 25, 2017
1dccbfc
Fixed missing "
tking53 May 12, 2017
1c16779
reworded help message; fixed expanded help
tking53 May 12, 2017
d705391
adds the missing invalid_argument call
tking53 May 11, 2017
fb9ce04
made the error more helpfull
tking53 May 15, 2017
137305b
Channged forChannel and forModule to better handle ranges.
Feb 3, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#Build files
*.o
build/

#Backup files
*~
Expand All @@ -16,6 +15,8 @@ latex/
tmp/
doc/classdiagramRawEvent.svg
ValgrindOut.xml
doc/
doxywarning.txt

#Compressed Files
*.bz2
Expand All @@ -24,8 +25,9 @@ ValgrindOut.xml

#Ignore the build and exec directory
build/
*build-*/
install/
doc/


#Ignore IDE files
*.cbp
Expand All @@ -44,4 +46,4 @@ HIS
LDF
HIS/*
LDF/*
data
data
21 changes: 21 additions & 0 deletions Acquisition/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#Adds the install prefix for referencing in the source code
add_definitions(-D INSTALL_PREFIX="\\"${CMAKE_INSTALL_PREFIX}\\"")

#Build the pixie interface
include_directories(Interface/include)
add_subdirectory(Interface/source)

#Build the MCA objects
include_directories(MCA/include)
add_subdirectory(MCA)

#Build PxiDump
add_subdirectory(PxiDump)

#Build poll
add_subdirectory(Poll)

#Build the setup tools
if (PAASS_BUILD_SETUP)
add_subdirectory(Setup)
endif(PAASS_BUILD_SETUP)
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ class PixieInterface


bool ReadConfigurationFile(const char *fn);
/// @brief Parses the input from configuration file for the ModuleType tag.
std::string ParseModuleTypeTag(std::string value);
bool GetSlots(const char *slotF = NULL);
// wrappers to the pixie-16 app functions
bool Init(bool offlineMode = false);
Expand Down Expand Up @@ -119,7 +121,7 @@ class PixieInterface
double GetLiveTime(int mod, int chan);
double GetRealTime(int mod);
double GetProcessedEvents(int mod);
bool GetModuleInfo(unsigned short mod, unsigned short *rev, unsigned int *serNum, unsigned short *adcBits, unsigned short *adcMsps);
bool GetModuleInfo(const unsigned short &mod, unsigned short *rev, unsigned int *serNum, unsigned short *adcBits, unsigned short *adcMsps);
// # #
bool StartHistogramRun(unsigned short mode = NEW_RUN);
bool StartHistogramRun(unsigned short mod, unsigned short mode);
Expand Down Expand Up @@ -180,19 +182,17 @@ class PixieInterface
#endif

static std::set<std::string> validConfigKeys;
std::map<std::string, std::string> configStrings;
std::map<std::string, std::map<std::string, std::string>> configStrings;

bool doneInit;

// convert a configuration string to be relative to pixieBaseDir unless it begins with a .
std::string ConfigFileName(const std::string &str);
/// @brief Convert a configuration string to be relative to PixieBaseDir unless it begins with a .
std::string ConfigFileName(const std::string &type, const std::string &str);
// checks retval and outputs default OK/ERROR message
bool CheckError(bool exitOnError = false) const;

unsigned short numberCards;
unsigned short slotMap[MAX_MODULES];
unsigned short firmwareConfig[MAX_MODULES];
bool hasAlternativeConfig;

stats_t statistics;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,60 +28,58 @@ class PixieFunction : public std::unary_function<bool, struct PixieFunctionParms
};

template<typename T>
bool forChannel(PixieInterface *pif, int mod, int ch, PixieFunction<T> &f, T par){
bool forChannel(PixieInterface *pif, int modStart, int modStop, int chStart, int chStop, PixieFunction<T> &f, T par){
PixieFunctionParms<T> parms(pif, par);

bool hadError = false;

if (mod < 0) {
for (parms.mod = 0; parms.mod < pif->GetNumberCards(); parms.mod++) {
if (ch < 0) {
for (parms.ch = 0; parms.ch < pif->GetNumberChannels(); parms.ch++) {
if (!f(parms)){ hadError = true; }
}
}
else {
parms.ch = ch;
if (!f(parms))
hadError = true;
}
if (modStart < 0) {
modStart = 0;
modStop = pif->GetNumberCards() - 1;
}
if (chStart < 0) {
chStart = 0;
chStop = pif->GetNumberChannels() - 1;
}

for (parms.mod = modStart; parms.mod <= modStop; parms.mod++) {
for (parms.ch = chStart; parms.ch <= chStop; parms.ch++) {
if (!f(parms)){ hadError = true; }
}
}
else {
parms.mod = mod;
if (ch < 0) {
for (parms.ch = 0; parms.ch < pif->GetNumberChannels(); parms.ch++) {
if (!f(parms)){ hadError = true; }
}
}
else {
parms.ch = ch;
hadError = !f(parms);
}
}

return !hadError;
}

template<typename T>
bool forModule(PixieInterface *pif, int mod, PixieFunction<T> &f, T par)
bool forChannel(PixieInterface *pif, int mod, int ch, PixieFunction<T> &f, T par){
return forChannel(pif, mod, mod, ch, ch, f, par);
}

template<typename T>
bool forModule(PixieInterface *pif, int modStart, int modStop, PixieFunction<T> &f, T par)
{
PixieFunctionParms<T> parms(pif, par);
bool hadError = false;

if (mod < 0) {
for (parms.mod = 0; parms.mod < pif->GetNumberCards(); parms.mod++) {
if (!f(parms)){ hadError = true; }
}
}
else {
parms.mod = mod;
hadError = !f(parms);
if (modStart < 0) {
modStart = 0;
modStop = pif->GetNumberCards() -1;
}
for (parms.mod = modStart; parms.mod <= modStop; parms.mod++) {
if (!f(parms)){ hadError = true; }
}

return !hadError;
}

template<typename T>
bool forModule(PixieInterface *pif, int mod, PixieFunction<T> &f, T par)
{
return forModule(pif, mod, mod, f, par);
}


std::string PadStr(const std::string &input_, int width_);

template<typename T>
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ set(Interface_SOURCES PixieInterface.cpp Lock.cpp)

add_library(PixieInterface STATIC ${Interface_SOURCES})

#Order is important, PXI before PLX
target_link_libraries(PixieInterface PixieCoreStatic ${PXI_LIBRARIES} ${PLX_LIBRARIES})
#Order is important, XIA before PLX
target_link_libraries(PixieInterface PaassCoreStatic ${XIA_LIBRARIES}
${PLX_LIBRARIES})

set(Support_SOURCES PixieSupport.cpp)
add_library(PixieSupport STATIC ${Support_SOURCES})
Expand Down
File renamed without changes.
Loading