From ef918a12356ee0f75e6aebfd5778d996830333aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hern=C3=A1n=20Asorey?= <asoreyh@gmail.com>
Date: Thu, 5 Oct 2023 18:20:24 +0200
Subject: [PATCH] The LAGO ANNA v1 package was restructured following
 standards. Major changes included:

* New header at each file.
* New license description file.
* Header files are now in the include/ directory.
* App source files are now in the src/ directory.
* Makefile was adapted for the new tree structure.
* Versioning was eliminated from each file to avoid future issues.
* The README was completely rewriten following the schema used for LAGO ARTI and LAGO ACQUA.
* App integrated help was improved
---
 LICENSE                            |  29 +++-
 Makefile                           |  85 +++++-----
 README.md                          | 260 ++++++++++++++++++++++++++---
 docs/images/lago-logo.png          | Bin 0 -> 24031 bytes
 dump.cc                            |  74 --------
 example.cc                         |  72 --------
 lago_data.h => include/lago_data.h |  38 ++---
 include/lago_defs.h                |  31 ++++
 lago_file.h => include/lago_file.h |  39 ++---
 include/sol.h                      |  41 +++++
 lago-anna.sh                       |  39 ++---
 lago_defs.h                        |  46 -----
 sol.h                              |  55 ------
 src/dump.cc                        |  59 +++++++
 src/example.cc                     |  57 +++++++
 raw.cc => src/raw.cc               |  68 +++-----
 sol.cc => src/sol.cc               |  56 +++----
 17 files changed, 570 insertions(+), 479 deletions(-)
 create mode 100644 docs/images/lago-logo.png
 delete mode 100644 dump.cc
 delete mode 100644 example.cc
 rename lago_data.h => include/lago_data.h (69%)
 create mode 100644 include/lago_defs.h
 rename lago_file.h => include/lago_file.h (65%)
 create mode 100644 include/sol.h
 delete mode 100644 lago_defs.h
 delete mode 100644 sol.h
 create mode 100644 src/dump.cc
 create mode 100644 src/example.cc
 rename raw.cc => src/raw.cc (92%)
 rename sol.cc => src/sol.cc (89%)

diff --git a/LICENSE b/LICENSE
index 85e3fcc..57f4239 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,12 +1,29 @@
-Copyright (c) 2012, The LAGO Project
+BSD 3-Clause License
+
+Copyright (c) 2012, The LAGO Collaboration
 All rights reserved.
 
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
 
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
 
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
 
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+3. Neither the name of the copyright holder nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 232d58a..018f425 100644
--- a/Makefile
+++ b/Makefile
@@ -1,59 +1,54 @@
-#   Makefile   -- 
-#   Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
-#   Original authors: Hernán Asorey
-#   e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
-#   Laboratorio de Detección de Partículas y Radiación (LabDPR)
-#   Centro Atómico Bariloche - San Carlos de Bariloche, Argentina 
-#
-# LICENSE BSD-3-Clause
-# Copyright (c) 2012, The LAGO Project
-# All rights reserved.
+################################################################################
+# File:        Makefile
+# Description: Builds the ANNA toolsuite, a scientific tool for analyzing 
+#              LAGO astrophysical data. Provides targets for building applications 
+#              (dump, example, raw, sol, ...) and cleaning build artifacts.
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012-2023
 # 
-# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-# 
-# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-# 
-# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# 
-
-#   -*- coding: utf8 -*-
-#   try to preserve encoding  
-CC = g++
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
 
-TESTS = check-lago
-TARGETS = raw sol example dump
-CFLAGS = -Wall
+# Compiler and compile options
+CXX = g++
+CXXFLAGS = -Wall -Iinclude
 
-all: $(TESTS) $(TARGETS)
+# Source and build directories
+SRC_DIR = src
+BUILD_DIR = build
 
-raw: raw.cc lago_file.h lago_data.h
-	$(CC) -o $@ $< $(CFLAGS)
+# Tests
+TESTS = check-env
 
-grb: grb.cc lago_file.h lago_data.h
-	$(CC) -o $@ $< $(CFLAGS)
+# Applications
+APPS = dump example raw sol
 
-sol: sol.cc lago_file.h lago_data.h
-	$(CC) -o $@ $< $(CFLAGS)
+# Default target
+all: $(TESTS) $(APPS)
 
-example: example.cc lago_file.h lago_data.h
-	$(CC) -o $@ $< $(CFLAGS)
+# Compile each application
+$(APPS): %: $(BUILD_DIR)/%.o
+	$(CXX) $(CXXFLAGS) -o $@ $^
 
-dump: dump.cc lago_file.h lago_data.h
-	$(CC) -o $@ $< $(CFLAGS)
-
-.PHONY: clean
+# Rule for compiling object files
+$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cc
+	@mkdir -p $(BUILD_DIR)
+	$(CXX) $(CXXFLAGS) -c -o $@ $<
 
+# Clean up
 clean:
-	rm -f $(TARGETS)
+	rm -rf $(BUILD_DIR) $(APPS)
+
+.PHONY: all clean
 
-check-lago:
+check-env:
 ifndef LAGO_ANNA
-$(info LAGO_ANNA is not set.)
-$(info I will define it to $PWD, and modify the .bashrc)
+$(warning LAGO_ANNA is not set. I will define it to $(PWD), and modify the .bashrc)
 $(shell $(PWD)/lago-anna.sh)
 LAGO_ANNA=$(PWD)
-endif
+else
+$(info Environment variable LAGO_ANNA is set to $(LAGO_ANNA))
+endif
\ No newline at end of file
diff --git a/README.md b/README.md
index b7e32f5..19ce5e8 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,237 @@
-# ![The LAGO Project](http://lagoproject.net/images/lago-logo-90.png "The LAGO Project") The LAGO ANNA suite
-
-| CODENAME			| ANNA  |
-|-------------------|:------|
-| COPYRIGHT			| (C) 2012-Today, The LAGO Project, [lagoproject.net](http://lagoproject.net)|
-| LICENSE			| BSD-3-Clause |
-| REPOSITORY		| https://github.com/lagoproject |
-| CONTACT			| [lago@lagoproject.org](mailto:lago@lagoproject.org)|
-| DESCRIPTION		| The LAGO project operates its WCD by using different types of electronics, but using a unified data structure. Here you will find the latest stable (prod) version of the data analysis suite of the LAGO Project |
-| CONTRIBUTORS		| If you want to contribute to this project please [send us an email](mailto:lago@lagoproject.org)|
-
-
-| CODE GUIDELINES	|		|
-|-------------------|:------|
-| FILE ENCODING		| UTF8 (please use <kbd>iconv -f YOUR_ENCODING -t UTF-8 file_to_convert > converted_file </kbd> before to push) |
-| LANGUAGE			| English (preferred) |
-| INDENT STYLE		| [Stroustrup](http://en.wikipedia.org/wiki/Indent_style#Variant:_Stroustrup) using 1 tab for 4 columns wide. check [here for vim setup](http://tedlogan.com/techblog3.html) |
-|					| If you prefer, please use: <kbd>astyle -t4 -A4 -y file_to_convert</kbd> before to push
-| VERSIONING		| Sequence-based identifiers, v<version>r<release>. First public release: **v1r0**
-| INSTALL			| After installing dependences (see INSTALL), just *make*
-| USAGE				| Please visit our [wikipage](http://wiki.lagoproject.org) (internal use only)|
-
-The [Latin American Giant Observatory (LAGO)](http://lagoproject.org) is an extended Astroparticle Observatory at global scale. It is mainly oriented to basic research on three branches of Astroparticle physics: the Extreme Universe, Space Weather phenomena, and Atmospheric Radiation at ground level.
+<!-- [![DOI](https://zenodo.org/badge/28657065.svg)](https://zenodo.org/badge/latestdoi/28657065) -->
+<div id="top"></div>
+<br />
+<div align="center">
+  <a href="https://github.com/lagoproject/anna">
+    <img src="docs/images/lago-logo.png" alt="Logo" width="140">
+  </a>
+  <h3 align="center">The ANNA Framework</h3>
+  <p align="center">
+    A framework designed to analyze the data measured by the single Water Cherenkov Detectors (WCD) of the <a href="https://lagoproject.net/">LAGO</a> detection network. It follows the LAGO hierarchycal structured for the measured data.
+    <br />
+    <!-- <a href="https://github.com/lagoproject/anna"><strong>Explore the docs (soon) »</strong></a>
+    <br /> -->
+    <br />
+    <a href="https://github.com/lagoproject/anna/issues">Request Feature</a>
+    ·
+    <a href="https://github.com/lagoproject/anna/issues">Report Bug</a>
+    ·
+    <a href="#Contact">Contact us</a>
+</p>
+</div>
+
+<!-- TABLE OF CONTENTS -->
+<details>
+  <summary>Table of Contents</summary>
+<br />
+  <ol>
+    <li><a href="#about-anna">About ANNA</a></li>
+    <li><a href="#getting-started">Getting Started</a></li>
+    <li><a href="#usage">Usage</a></li>
+    <li><a href="#proposed-features">Proposed Features</a></li>
+    <li><a href="#contributing">Contributing</a></li>
+    <li><a href="#license">License</a></li>
+    <li><a href="#contact">Contact</a></li>
+  </ol>
+</details>
+
+<!-- ABOUT THE PROJECT -->
+## About ANNA
+<!--
+<style>
+html, body {height: 100%;}
+img {
+height: auto;
+width: auto;
+}
+img.rel {
+  width: 33%;
+}
+</style>
+-->
+
+<!-- <img class="rel" src="./docs/images/flux-chacaltaya.png" alt="The seconday particle flux at Chacaltaya" width="200"><img class="rel" src="./docs/images/geomagnetic.png" alt="Charged particles trajectories" width="200"><img class="rel" src="./docs/images/wcd-muon.png" alt="A muon traversing the WCD " width="200">
+-->
+
+ANNA is a complete framework designed to analyse the data the signals produced by the secondary particles emerging from the interaction of singles, multiple and even the complete flux of primary cosmic rays with the atmosphere. These signals are measured for any particle detector located at a LAGO site.
+
+ANNA is structured using different applications files and some headers where the main data classes are defined.
+
+During its normal operation and the different maintenance modes of the <a href="https://lagoproject.net/">LAGO detection network</a>, LAGO produces datasets containing different types of data. All the LAGO datasets follow standardized schemes based on linked data as described in our <a href="https://lagoproject.github.io/DMP/">DMP</a>. 
+
+<div id="measured"></div>
+
+### Measured data (Ln)
+
+The measured data LAGO dataset corresponds to any type of data that was measured in a LAGO site, including measurements of any type of radiation, atmospheric conditions, geomagnetic, solar irradiation, telemetry, and any other type of measurement produced by the LAGO detector and its peripherals. The LAGO measured data includes also any data product derived by any means of the previously described data. All the LAGO measured datasets are hierarchically tagged with the ***L<sub>n</sub>*** label, being ***n*** a sequential number, starting by *0*, that indicates the level of data processing: L<sub>0</sub> corresponds to the raw data, L<sub>1</sub> is the first level of analysed data, etc.
+
+### ANNA main reference and citation
+
+When using ANNA, please cite using the DOI included at the begininig of this file. 
+
+H. Asorey for the LAGO Collaboration, _"The LAGO ANNA Data Analysis framework"_, [doi:_SOON_](https://doi.org/).
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+## LAGO ANNA versions 
+
+Currently, two electronic boards are consistenly used across the LAGO detection network. Two different versions were developed for [LAGO ACQUA](https://github.com/lagoproject/acqua), the LAGO data acquisition package. LAGO ANNA follows the same schema:
+
+* LAGO ANNA v1.x.x: Compatible with LAGO ACQUA v1, for the electronic board based on the NEXYS-II FPGA. Current version is the last developed version, [LAGO ACQUA v1.5.0](https://github.com/lagoproject/acqua/releases/tag/acqua-v1.5.0). In general, LAGO ANNA v1 are compatible with data acquired using LAGO ACQUA v1. 
+* LAGO ANNA v2.x.x: Compatible with LAGO ACQUA v2, designed for the electronic board based on the StemLab 125/14 RedPitaya electronic board. This is currently under actively development. 
+* LAGO ANNA v3.x.x: This will be developed for the new LAGO EDGE detection schema. 
+
+Major versions for both the LAGO ACQUA and the LAGO ANNA frameworks are developed in different branchs and identified with the corresponding tags. Master branch always points to the latest stable development. 
+
+
+<!-- GETTING STARTED -->
+## Getting Started
+
+To get a local copy of the ANNA framework up and running follow these simple example steps.
+
+### Prerequisites
+
+#### System requirements
+
+ANNA runs in any Linux based system, including those supported at iOS, raspberry-pis' and RedPitayas' linux-based OS. For Windows user, we strongly recommend to install some of your preferred linux distribution using virtualbox. 
+
+The command for installing required packages depends on the OS architecture. 
+
+In Fedora, Scientific Linux and CentOS, use 
+
+`sudo yum install <package>`. 
+
+In Ubuntu/Debian, including RPi and RPy SBC, use 
+
+`sudo apt install <package>`. 
+
+In both cases, you can also use the graphic package manager included in your preferred distro. 
+
+ANNA requires the installation of a few and largerly common standard packages: 
+
+* bash
+* gcc
+* make
+* screen
+* rsync
+* git 
+
+As a one-liner for Ubuntu/Debian:
+
+```bash 
+sudo apt install build-essential screen rsync git
+```
+(git is optional).
+
+#### Dependencies
+
+ANNA does not have any dependencies.
+
+### Installation
+
+1. If you are using git, just clone this repository:
+   ```bash
+   cd /path/to/ANNA/installation
+   git clone https://github.com/lagoproject/anna.git
+   ```
+   Otherwise, you can also directly download ANNA without using git (in this case, you should reinstall ANNA for every upgrade):
+   ```bash
+   cd /path/to/ANNA/installation
+   wget -c https://github.com/lagoproject/anna/archive/refs/heads/master.zip
+   unzip master.zip
+   rm master.zip
+   ```
+2. ANNA compiling is very simple:
+   ```bash
+   cd /path/to/ANNA/anna
+   make
+   ```
+   1. During the first installation of ANNA (or if you need to install ANNA in a different directory), `make` will define the `$LAGO_ANNA` environment variable, that points to the ANNA current directory installation. Then, ANNA installer will add the definition of this variable to the user's local `.bashrc` and to the local `$PATH` environment variable:
+   
+      ```bash
+      #
+      ## Changes added by the ANNA suite on <installation date>
+      #
+      export ANNA="/path/to/ANNA/installation/ANNA"
+      export LAGO_ANNA_VERSION="<LAGO ANNA current version>"
+      export PATH="${ANNA}:$PATH"
+      ```
+
+If you follow the above described steps and everything works well, you should find some new executable files at the root `${LAGO_ANNA}` directory.
+
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+### ANNA updates, releases, branchs and tags
+
+ANNA is continously used, revised and updated within the [LAGO Collaboration](https://lagoproject.net). 
+
+Unless you are a developer, we recommend to use only the latest ANNA release contained in the `master` branch of this repository. Stable versions are tagged and can be found in the [corresponding section of this repository](https://github.com/lagoproject/anna/tags).
+
+Clone and install ANNA from `dev` or `dev-*` branches is strongly discouraged, as these branches are used for testing, bug correction and for the development of new features.
+
+If you are using `git`, you can update ANNA just by doing: 
+
+```bash
+cd /path/to/ANNA/anna
+git pull
+make
+```
+
+Otherwise, you could just reinstall ANNA by following the [installation guide](#installation).
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+## Usage
+
+The ANNA framework follows the basic hierarchical structure of the <a href="#measured">LAGO Measured data</a>. It includes two basic applications, [`dump`](src/dump.cc) and [`example`](src/example.cc) intended as basic examples of the usage of the LAGO ANNA classes. 
+
+All the ANNA applications have their own integrated help, accesible through the `-?` modifier. 
+
+### General help and documentation
+
+The documentation is currently under preparation and will be released soon. A brief description of the action of each code and the available options and modifiers can be seen by calling them with the `-?` modifier.
+
+<!-- _For more examples, please refer to the [ANNA Documentation](docs)._ -->
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+## Proposed features
+
+See the [open issues](https://github.com/lagoproject/anna/issues) for a full list of proposed features (and known issues).
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+<!-- CONTRIBUTING -->
+## Contributing
+
+Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
+
+If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
+Don't forget to give the project a star! Thanks again!
+
+1. Fork the Project
+2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
+3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
+4. Push to the Branch (`git push origin feature/AmazingFeature`)
+5. Open a Pull Request
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+<!-- LICENSE -->
+## License
+
+ANNA is distributed under the [BSD-3 License](https://opensource.org/licenses/BSD-3-Clause). See the [LICENCE](LICENSE) for more information.
+
+<p align="right">(<a href="#top">back to top</a>)</p>
+
+<!-- CONTACT -->
+## Contact
+
+The ANNA framework is developed by the LAGO Collaboration. If you need to contact us, please complete our [contact form](https://lagoproject.net/contact.html). 
+
+ANNA principal contact: [Dr Hernán Asorey (@asoreyh)](https://github.com/asoreyh)
+
+Project Link: [https://github.com/lagoproject/anna](https://github.com/lagoproject/anna)
+
+<p align="right">(<a href="#top">back to top</a>)</p>
\ No newline at end of file
diff --git a/docs/images/lago-logo.png b/docs/images/lago-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cd6151d6410c660b4515e6e28c23248a5da35b9
GIT binary patch
literal 24031
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
WoCVab45>{30000<MNUMnLSTaIKEp!*

literal 0
HcmV?d00001

diff --git a/dump.cc b/dump.cc
deleted file mode 100644
index 965167e..0000000
--- a/dump.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-/*  dump.cc  --  LAGO dump of pulses, mainly intended to debug and develop classes
- *  
- *  Copyright (C) 2016-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina 
- */
-
-/* LICENSE BSD-3-Clause BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
-#define _FILE_OFFSET_BITS 64
-
-#include "lago_defs.h"
-#include "lago_data.h"
-#include "lago_file.h"
-
-using namespace std;
-
-#define MAXPULSEPERSEC 1000000
-
-// This is just an example to use LAGO libraries
-
-int main (int argc, char **argv) {
-	if (argc < 2) {
-		cerr << "Error: data file is needed. Please check." << endl;
-		cerr << endl;
-		cerr << "Usage: " << argv[0] << " <file>" << endl;
-		return 1;
-	}
-	LagoFile Input;
-	int NbPulses=0;
-	LagoGeneric Data;
-	LagoEvent *Pulse;
-	Pulse=(LagoEvent*)malloc(MAXPULSEPERSEC*sizeof(LagoEvent));
-	for (int i=0;i<MAXPULSEPERSEC;i++) 
-		Pulse[i].Init();
-	Input.Open(argv[1]);
-	Input.SetForce(1);
-  
-  //
-  // File reading and processing
-  //
-  double rt=0., ft=0., tt=0.;
-  cerr << "Reading file" << endl;
-  while(NbPulses!=-1) {
-    NbPulses=Input.ReadOneSecond(&Data,Pulse,MAXPULSEPERSEC);
-	for (int i=0; i<NbPulses; i++) {
-		rt = Pulse[i].GetRiseTime(2);
-		ft = Pulse[i].GetFallTime(2);
-		tt = Pulse[i].GetFullTime(2);
-		if (rt>0 && ft>0)
-			cout << rt << " " << ft << " " << tt << endl;
-	}
-  }
-  return 0;
-}
diff --git a/example.cc b/example.cc
deleted file mode 100644
index f8b872d..0000000
--- a/example.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-/*  example.cc  --  LAGO example on how to include classes
- *  
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey, Xavier Bertou
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina 
- */
-
-/* LICENSE BSD-3-Clause BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
-#define _FILE_OFFSET_BITS 64
-
-#include "lago_defs.h"
-#include "lago_data.h"
-#include "lago_file.h"
-
-using namespace std;
-
-#define MAXPULSEPERSEC 1000000
-
-// This is just an example to use LAGO libraries
-
-int main (int argc, char **argv) {
-	if (argc < 2) {
-		cerr << "Error: data file is needed. Please check." << endl;
-		cerr << endl;
-		cerr << "Usage: " << argv[0] << " <file>" << endl;
-		return 1;
-	}
-	LagoFile Input;
-	int NbPulses=0;
-	LagoGeneric Data;
-	LagoEvent *Pulse;
-	Pulse=(LagoEvent*)malloc(MAXPULSEPERSEC*sizeof(LagoEvent));
-	for (int i=0;i<MAXPULSEPERSEC;i++) 
-		Pulse[i].Init();
-	Input.Open(argv[1]);
-  
-  //
-  // File reading and processing
-  //
-  cerr << "Reading file" << endl;
-  while(NbPulses!=-1) {
-    NbPulses=Input.ReadOneSecond(&Data,Pulse,MAXPULSEPERSEC);
-    cout << Data.second << " " << Data.pressure << " " << Data.temperature << " " << NbPulses << endl;
-	/* 
-	 * So, Data have one second of pulses, here we should our analysis
-	 * say, looking for excesses for grb analysis, something like this:
-	 * if (NbPulses>0)
-	 *		TreatSecond(&Data,Pulse,NbPulses);
-	 */
-  }
-  return 0;
-}
diff --git a/lago_data.h b/include/lago_data.h
similarity index 69%
rename from lago_data.h
rename to include/lago_data.h
index 8d3e806..fcb569f 100644
--- a/lago_data.h
+++ b/include/lago_data.h
@@ -1,30 +1,16 @@
-/*  lago_data.h  --   Data analysis library for LAGO Data
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey, Xavier Bertou
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+/*
+################################################################################
+# File:        lago_data.h
+# Description: Classes, methods and attributes for handling LAGO data defs.
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
 */
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/****************************************************************************/
 #ifndef LAGO_DATA_H
 #define LAGO_DATA_H
 
diff --git a/include/lago_defs.h b/include/lago_defs.h
new file mode 100644
index 0000000..fb69d7c
--- /dev/null
+++ b/include/lago_defs.h
@@ -0,0 +1,31 @@
+/*
+################################################################################
+# File:        lago_data.h
+# Description: Global definitions for the LAGO ANNA framework
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
+*/
+#ifndef LAGO_DEFS_H
+#define LAGO_DEFS_H 
+
+#define PROJECT "The LAGO ANNA Suite"
+#define CODENAME "ANNA"
+// DATAVERSION AND CODEVERSION SHOULD BE THE SAME NUMBER
+#define CODEVERSION "v5"
+#define DATAVERSION 5 
+
+#define CHANNELS 3
+#define TRACELEN 12
+#define BASELINE 50
+#define BIN 25.
+#define ADCMAX 1024
+#define CHRGMAX 4096
+#define TRIGGERBIN 3
+
+#endif
\ No newline at end of file
diff --git a/lago_file.h b/include/lago_file.h
similarity index 65%
rename from lago_file.h
rename to include/lago_file.h
index 1855636..bf5764f 100644
--- a/lago_file.h
+++ b/include/lago_file.h
@@ -1,31 +1,16 @@
-/*  lago_file.h: handle different lago data structure files
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey, Xavier Bertou
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+/*
+################################################################################
+# File:        lago_file.h
+# Description: handles different lago data structure files
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
 */
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
-
 #ifndef LAGO_FILE_H
 #define LAGO_FILE_H
 
diff --git a/include/sol.h b/include/sol.h
new file mode 100644
index 0000000..2bed770
--- /dev/null
+++ b/include/sol.h
@@ -0,0 +1,41 @@
+/*
+################################################################################
+# File:        sol.h
+# Description: header file for the 'sol' LAGO ANNA application
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
+*/
+#define _FILE_OFFSET_BITS 64
+#include "lago_defs.h"
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <iostream>
+#include <fstream>
+#include <math.h>
+
+using namespace std;
+
+//global variables
+int irange=0, ipos=0, iband=0, ipeak=0, icompress=0, iflux = 0, iauto=1, iverbose=0;
+int check = 0;
+const int max_charge=4096;
+int avg_time = 10;
+double fluxtime=1.;
+double diameter = 0., height = 0.;
+int channel=0, start=0, width=0, qs=0, end_hst=max_charge, qe=max_charge;
+char type='0'; //charge
+int Open(char *nfi);
+inline double sign(double x);
+inline double log10(double x);
+double itpl_pos(double *pos_avg, double *chr_der, int i);
+double itpl_chr(double *pos_avg, double *chr_der, int i, double x);
+double fitHisto(int xi, int xf, double* h, double* r);
+void Usage(char *prog);
+FILE *fi, *out, *cal, *muo, *pof, *lof;
diff --git a/lago-anna.sh b/lago-anna.sh
index 8cd7ecf..13fd489 100755
--- a/lago-anna.sh
+++ b/lago-anna.sh
@@ -1,35 +1,24 @@
 #!/bin/bash
-#   lago-anna.sh 
-#	define LAGO_ANNA and modify .bashrc
-#   Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
-#   Original authors: Hernán Asorey
-#   e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
-#   Laboratorio de Detección de Partículas y Radiación (LabDPR)
-#   Centro Atómico Bariloche - San Carlos de Bariloche, Argentina 
-#
-# LICENSE BSD-3-Clause
-# Copyright (c) 2012, The LAGO Project
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-# 
-# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-# 
-# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+################################################################################
+# File:        lago-anna.sh
+# Description: Defines the environmental variables and modify the $USER .bashrc
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012-2023
 # 
-
-#   -*- coding: utf8 -*-
-#   try to preserve encoding  
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
+VERSION="1.5"
 export LAGO_ANNA=${PWD}
+export LAGO_ANNA_VERSION=${VERSION}
 date=$(date -u)
 echo "#
 ## Changes added by the LAGO ANNA suite on $date
 #
 export LAGO_ANNA=\"${LAGO_ANNA}\"
+export LAGO_ANNA_VERSION=\"${VERSION}\"
 export PATH=\"\${LAGO_ANNA}:\$PATH\"
 " >> ${HOME}/.bashrc
-source ${HOME}/.bashrc
+source ${HOME}/.bashrc
\ No newline at end of file
diff --git a/lago_defs.h b/lago_defs.h
deleted file mode 100644
index 60d7f42..0000000
--- a/lago_defs.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*  lago_defs.h  --  LAGO definitions for this suite
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
-
-#ifndef LAGO_DEFS_H
-#define LAGO_DEFS_H 
-
-#define PROJECT "The LAGO ANNA Suite"
-#define CODENAME "ANNA"
-// DATAVERSION AND CODEVERSION SHOULD BE THE SAME NUMBER
-#define CODEVERSION "v5"
-#define DATAVERSION 5 
-
-#define CHANNELS 3
-#define TRACELEN 12
-#define BASELINE 50
-#define BIN 25.
-#define ADCMAX 1024
-#define CHRGMAX 4096
-#define TRIGGERBIN 3
-
-#endif
diff --git a/sol.h b/sol.h
deleted file mode 100644
index 3f89e53..0000000
--- a/sol.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*  sol.h  --  code oriented to perform Space Weather related analysis from 1-minute histograms
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
-#define _FILE_OFFSET_BITS 64
-#include "lago_defs.h"
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <iostream>
-#include <fstream>
-#include <math.h>
-
-using namespace std;
-
-//global variables
-int irange=0, ipos=0, iband=0, ipeak=0, icompress=0, iflux = 0, iauto=1, iverbose=0;
-int check = 0;
-const int max_charge=4096;
-int avg_time = 10;
-double fluxtime=1.;
-double diameter = 0., height = 0.;
-int channel=0, start=0, width=0, qs=0, end_hst=max_charge, qe=max_charge;
-char type='0'; //charge
-int Open(char *nfi);
-inline double sign(double x);
-inline double log10(double x);
-double itpl_pos(double *pos_avg, double *chr_der, int i);
-double itpl_chr(double *pos_avg, double *chr_der, int i, double x);
-double fitHisto(int xi, int xf, double* h, double* r);
-void Usage(char *prog);
-FILE *fi, *out, *cal, *muo, *pof, *lof;
diff --git a/src/dump.cc b/src/dump.cc
new file mode 100644
index 0000000..1766105
--- /dev/null
+++ b/src/dump.cc
@@ -0,0 +1,59 @@
+/*
+################################################################################
+# File:        dump.cc
+# Description: LAGO dump of pulses, mainly intended to debug and develop classes
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
+*/
+#define _FILE_OFFSET_BITS 64
+
+#include "lago_defs.h"
+#include "lago_data.h"
+#include "lago_file.h"
+
+using namespace std;
+
+#define MAXPULSEPERSEC 1000000
+
+// This is just an example to use LAGO libraries
+
+int main (int argc, char **argv) {
+	if (argc < 2) {
+		cerr << "Error: data file is needed. Please check." << endl;
+		cerr << endl;
+		cerr << "Usage: " << argv[0] << " <file>" << endl;
+		return 1;
+	}
+	LagoFile Input;
+	int NbPulses=0;
+	LagoGeneric Data;
+	LagoEvent *Pulse;
+	Pulse=(LagoEvent*)malloc(MAXPULSEPERSEC*sizeof(LagoEvent));
+	for (int i=0;i<MAXPULSEPERSEC;i++) 
+		Pulse[i].Init();
+	Input.Open(argv[1]);
+	Input.SetForce(1);
+  
+  //
+  // File reading and processing
+  //
+  double rt=0., ft=0., tt=0.;
+  cerr << "Reading file" << endl;
+  while(NbPulses!=-1) {
+    NbPulses=Input.ReadOneSecond(&Data,Pulse,MAXPULSEPERSEC);
+	for (int i=0; i<NbPulses; i++) {
+		rt = Pulse[i].GetRiseTime(2);
+		ft = Pulse[i].GetFallTime(2);
+		tt = Pulse[i].GetFullTime(2);
+		if (rt>0 && ft>0)
+			cout << rt << " " << ft << " " << tt << endl;
+	}
+  }
+  return 0;
+}
\ No newline at end of file
diff --git a/src/example.cc b/src/example.cc
new file mode 100644
index 0000000..d0ba4e9
--- /dev/null
+++ b/src/example.cc
@@ -0,0 +1,57 @@
+/*
+################################################################################
+# File:        example.cc
+# Description: LAGO example on how to include and use LAGO ANNA main classes
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
+*/
+#define _FILE_OFFSET_BITS 64
+
+#include "lago_defs.h"
+#include "lago_data.h"
+#include "lago_file.h"
+
+using namespace std;
+
+#define MAXPULSEPERSEC 1000000
+
+// This is just an example to use LAGO libraries
+
+int main (int argc, char **argv) {
+	if (argc < 2) {
+		cerr << "Error: data file is needed. Please check." << endl;
+		cerr << endl;
+		cerr << "Usage: " << argv[0] << " <file>" << endl;
+		return 1;
+	}
+	LagoFile Input;
+	int NbPulses=0;
+	LagoGeneric Data;
+	LagoEvent *Pulse;
+	Pulse=(LagoEvent*)malloc(MAXPULSEPERSEC*sizeof(LagoEvent));
+	for (int i=0;i<MAXPULSEPERSEC;i++) 
+		Pulse[i].Init();
+	Input.Open(argv[1]);
+  
+  //
+  // File reading and processing
+  //
+  cerr << "Reading file" << endl;
+  while(NbPulses!=-1) {
+    NbPulses=Input.ReadOneSecond(&Data,Pulse,MAXPULSEPERSEC);
+    cout << Data.second << " " << Data.pressure << " " << Data.temperature << " " << NbPulses << endl;
+	/* 
+	 * So, Data have one second of pulses, here we should our analysis
+	 * say, looking for excesses for grb analysis, something like this:
+	 * if (NbPulses>0)
+	 *		TreatSecond(&Data,Pulse,NbPulses);
+	 */
+  }
+  return 0;
+}
\ No newline at end of file
diff --git a/raw.cc b/src/raw.cc
similarity index 92%
rename from raw.cc
rename to src/raw.cc
index 88d8c61..f43cb20 100644
--- a/raw.cc
+++ b/src/raw.cc
@@ -1,32 +1,17 @@
 /*
- * raw.cc  --  analyze "raw" (L0) data and produce the preprocessed "preliminary" (L1) data set.
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey, Xavier Bertou
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina
- */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+################################################################################
+# File:        raw.cc
+# Description: Clean and analyze the L0 (raw) data measured at the LAGO WCD 
+# 			   detectors and produce the preprocessed L1 (preliminary) data set.
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
 */
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
 #define _FILE_OFFSET_BITS 64
 
 #include <string.h>
@@ -424,13 +409,8 @@ void Usage(char *prog)
 {
 	cout << "\t" << PROJECT << " " << CODEVERSION << endl;
 	cout << endl;
-	cout << "\t(c) 2012-Today, The LAGO Project, http://lagoproject.org" << endl;
-	cout << "\t(c) 2012, LabDPR, http://labdpr.cab.cnea.gov.ar" << endl;
-	cout << endl;
-	cout << "\tThe LAGO Project, lago@lagoproject.org" << endl;
-	cout << endl;
-	cout << "\tDPR Lab. 2012" << endl;
-	cout << "\tX. Bertou and H. Asorey, asoreyh@cab.cnea.gov.ar" << endl;
+	cout << "\t(c) 2012, The LAGO Project, http://lagoproject.net" << endl;
+	cout << "\tH. Asorey, asoreyh@gmail.com" << endl;
 	cout << endl;
 	cout << "\tRaw data analysis suite for the LAGO Project (L0 -> L1)" << endl; 
 	cout << "Usage: " << prog << " [modifiers] <options> <values> <raw_file>[.dat[.bz2]]" << endl;
@@ -818,7 +798,7 @@ int main (int argc, char *argv[])
 
 	if (ical) {
 		cal << "# # # p 1 cal " << PROJECT << " " << CODEVERSION << endl;
-		cal << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)" << endl;
+		cal << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)" << endl;
 		cal << "# # This is a file containing the charge and peak calibration histograms" << endl;
 		cal << "# # Format is ch1 ch2 ch3 pk1 pk2 pk3" << endl;
 		if (imuo && imup)
@@ -838,7 +818,7 @@ int main (int argc, char *argv[])
 
 	if (itim) {
 		tim << "# # # p 1 tim " << PROJECT << " " << CODEVERSION << endl;
-		tim << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)" << endl;
+		tim << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)" << endl;
 		tim << "# # This is a file containing the time difference histogram" << endl;
 		tim << "# # Format is #time_difference(ns) #count for each channel" << endl;
 		if (tim_map)
@@ -853,13 +833,13 @@ int main (int argc, char *argv[])
 
 	if (iraw) {
 		raw << "# # # p 1 raw " << PROJECT << " " << CODEVERSION << endl;
-		raw << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)" << endl;
+		raw << "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)" << endl;
 		raw << "# # This is a RAW file containing the first 10 seconds of data" << endl;
 	}
 
 	if (isol) {
 		fprintf(sol, "# # # p 1 sol %s %s\n", PROJECT, CODEVERSION);
-		fprintf(sol, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(sol, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(sol, "# # This is a Solar data file.\n");
 		fprintf(sol, "# # These are integrated charge and peak histograms, with monitoring information\n");
 		fprintf(sol, "# # Integrated time is %d seconds.\n", iSolTime);
@@ -877,7 +857,7 @@ int main (int argc, char *argv[])
 
 	if (iall) {
 		fprintf(all, "# # # p 1 all %s %s\n", PROJECT, CODEVERSION);
-		fprintf(all, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(all, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(all, "# # This is a file containing all processed data\n");
 		fprintf(all, "# # Format is # second frequency temperature pressure\n");
 		fprintf(all, "# #   time_to_prev_pulse counts_to_prev_pulse channels_triggered_mask ch_ch1 pk_ch1 ch_ch2 pk_ch2 ch_ch3 pk_ch3 risetime_ch1 falltime_ch1 risetime_ch2 falltime_ch2 risetime_ch3 falltime_ch3 (channel <i> is printed only if it triggered)\n");
@@ -892,14 +872,14 @@ int main (int argc, char *argv[])
 
 	if (imon) {
 		fprintf(mon, "# # # p 1 all %s %s\n", PROJECT, CODEVERSION);
-		fprintf(mon, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(mon, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(mon, "# # This is a monitoring file.\n");
 		fprintf(mon, "# # Format is second frequency temperature pressure average_baseline_chN dev_baseline_chN\n");  
 	}
 
 	if (iscl) {
 		fprintf(scl, "# # # p 1 scl %s %s\n", PROJECT, CODEVERSION);
-		fprintf(scl, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(scl, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(scl, "# # This is the old-lago-like scaler file.\n");
 		fprintf(scl, "# # Format is:\n");
 		fprintf(scl, "# # # s second frequency temperature pressure Total_Rate Rate_per_channel:_(%d)_columns\n",CHANNELS);
@@ -925,7 +905,7 @@ int main (int argc, char *argv[])
 	}
 	if (irte) {
 		fprintf(rte, "# # # p 1 rte %s %s\n", PROJECT, CODEVERSION);
-		fprintf(rte, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(rte, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(rte, "# # This is the rate (pulse per second) file.\n");
 		fprintf(rte, "# # Format is:\n");
 		fprintf(rte, "# # second temperature pressure Total_Rate Rate_per_channel:_(%d)_columns\n",CHANNELS);
@@ -938,7 +918,7 @@ int main (int argc, char *argv[])
 	}
 	if (iflx) {
 		fprintf(flx, "# # # p 1 flx %s %s\n", PROJECT, CODEVERSION);
-		fprintf(flx, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.org)\n");
+		fprintf(flx, "# # L1 level file (processed raw data, use at your own risk or contact lago@lagoproject.net)\n");
 		fprintf(flx, "# # This is the flux file.\n");
 		fprintf(flx, "# # Format is:\n");
 		fprintf(flx, "# # second_at_half_interval avg_temp avg_press avg_rate avg_rate_per_channel sigma_temp sigma_press sigma_rate sigma_rate_per_channel\n");
@@ -1078,4 +1058,4 @@ int main (int argc, char *argv[])
 			fprintf(stderr, "\n");
 		}
 	}
-}
+}
\ No newline at end of file
diff --git a/sol.cc b/src/sol.cc
similarity index 89%
rename from sol.cc
rename to src/sol.cc
index 5b03f17..54c3a28 100644
--- a/sol.cc
+++ b/src/sol.cc
@@ -1,30 +1,18 @@
-/*  sol.cc  -- code oriented to perform Space Weather related analysis from 1-minute histograms
- *
- *  Copyright (C) 2012-TODAY The LAGO Project, http://lagoproject.org, lago-pi@lagoproject.org
- *
- *  Original authors: Hernán Asorey
- *  e-mail: asoreyh@cab.cnea.gov.ar  (asoreyh@gmail.com)
- *  Laboratorio de Detección de Partículas y Radiación (LabDPR)
- *  Centro Atómico Bariloche - San Carlos de Bariloche, Argentina */
-
-/* LICENSE BSD-3-Clause
-Copyright (c) 2012, The LAGO Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+/*
+################################################################################
+# File:        sol.cc
+# Description: Analyze L1 data for producing and analyzing 1-minute charge 
+# 			   (as part of the L2 (quality) data files), intented for be part of 
+#			   the high quality data release in the LAGO space weather program. 
+# Author:      Hernán Asorey
+# Email:       asoreyh@gmail.com
+# Date:        2012
+# 
+# Copyright:   [2012] [The LAGO Collaboration]
+# License:     BSD-3-Clause
+# See the LICENSE file in the project root for full license information.
+################################################################################
 */
-
-/*  -*- coding: utf8 -*-
- *  try to preserve encoding  */
-/************************************************************************/
 #include "sol.h"
 
 /* Functions */
@@ -103,13 +91,9 @@ void Usage(char *prog)
 {
 	cout << "\t" << PROJECT << " " << CODEVERSION << endl;
 	cout << endl;
-    cout << "\t(c) 2012-Today, The LAGO Project, http://lagoproject.org" << endl;
-    cout << "\t(c) 2012, LabDPR, http://labdpr.cab.cnea.gov.ar" << endl;
-    cout << endl;
-    cout << "\tThe LAGO Project, lago@lagoproject.org" << endl;
+    cout << "\t(c) 2012, The LAGO Project, http://lagoproject.net" << endl;
     cout << endl;
-    cout << "\tHalley (UIS) and ULA 2014" << endl;
-    cout << "\tY. Perez and H. Asorey, asoreyh@cab.cnea.gov.ar" << endl;
+    cout << "\tH. Asorey, asoreyh@gmail.com" << endl;
     cout << endl;
 	cout << "\tSpace Weather dedicated analysis (L1 -> L2SW)" << endl;
 	cout << "\tAnalyze .sol output files to identify solar modulation phenomena." << endl;
@@ -282,7 +266,7 @@ int main (int argc, char *argv[])
 		exit(1);
 	}
 	fprintf(lof, "# # # L2 log %s %s\n", PROJECT, CODEVERSION);
-	fprintf(lof, "# # L2 level file (lago@lagoproject.org): fit log for the sol automatic procedure\n");
+	fprintf(lof, "# # L2 level file (lago@lagoproject.net): fit log for the sol automatic procedure\n");
 	fprintf(lof, "## STATUS ## Analyzing %s\n", ifile);
 
 	/* preparing for work */
@@ -344,7 +328,7 @@ int main (int argc, char *argv[])
 
 	// headers
 	fprintf(out, "# # # L2 flx %s %s\n", PROJECT, CODEVERSION);
-	fprintf(out, "# # L2 level file (lago@lagoproject.org): flux of signals as function of time\n");
+	fprintf(out, "# # L2 level file (lago@lagoproject.net): flux of signals as function of time\n");
 	fprintf(out, "# # Analysis is done by integrating the whole channel %d charge histogram in\n", channel);
 	if (iband) {
 		fprintf(out, "# # %d bands of %d ADCq starting from %d ADCq and up to %d ADCq\n", nbands, width, start+1, end_hst+1);
@@ -364,7 +348,7 @@ int main (int argc, char *argv[])
 	}
 	if (iauto) {
 		fprintf(muo, "# # # L2 flx %s %s\n", PROJECT, CODEVERSION);
-		fprintf(muo, "# # L2 level file (lago@lagoproject.org): flux of signals as function of time\n");
+		fprintf(muo, "# # L2 level file (lago@lagoproject.net): flux of signals as function of time\n");
 		fprintf(muo, "# # Analysis is done by automaticaly detection of calibration histogram features\n");
 		fprintf(muo, "# # on channel %d, and integrating the flux in four different bands of deposited energy.\n", channel);
 		fprintf(muo, "# # Detector diameter=%.1f mm. Detector height=%.1f mm\n", diameter, height);
@@ -570,7 +554,7 @@ int main (int argc, char *argv[])
 				exit(1);
 			}
 			fprintf(pof, "# # # L2 pos %s %s\n", PROJECT, CODEVERSION);
-			fprintf(pof, "# # L2 level file (lago@lagoproject.org): file to check goodness of fit for automatic detection\n");
+			fprintf(pof, "# # L2 level file (lago@lagoproject.net): file to check goodness of fit for automatic detection\n");
 			fprintf(pof, "# # 4 columns format is:\n");
 			fprintf(pof, "# # Feature_Index Seed_for_fit Feature analyzed_file\n");
 		}
-- 
GitLab