#!/bin/bash
#
# Initialize the environment for Gluex simulation and analysis software
# while running inside the Gluextest (alma9) apptainer container.
#

#source /nfs/direct/packages/system_scripts/scl_enable_python27.bash

export HALLD_SIM_HOME=/cvmfs/oasis.opensciencegrid.org/gluex/halld_sim/
export HALLD_RECON_HOME=/cvmfs/oasis.opensciencegrid.org/gluex/halld_recon/
export LD_LIBRARY_PATH=$HALLD_RECON_HOME/$BMS_OSNAME/lib:$HALLD_SIM_HOME/$BMS_OSNAME/lib:$LD_LIBRARY_PATH
export PATH=$HALLD_RECON_HOME/$BMS_OSNAME/bin:$HALLD_SIM_HOME/$BMS_OSNAME/bin:$PATH

# access to python modules in sim_recon
if [[ -z "$PYTHONPATH" ]]; then
    PYTHONPATH=$HALLD_RECON_HOME/$BMS_OSNAME/python3:$HALLD_SIM_HOME/$BMS_OSNAME/python3
else
    PYTHONPATH=$HALLD_RECON_HOME/$BMS_OSNAME/python3:$HALLD_SIM_HOME/$BMS_OSNAME/python3:$PYTHONPATH
fi
PYTHONPATH=$PYTHONPATH:$HALLD_RECON_HOME/$BMS_OSNAME/python2:$HALLD_SIM_HOME/$BMS_OSNAME/python2
export PYTHONPATH

# select a recent build of root on oasis
#export ROOTSYS=/cvmfs/oasis.opensciencegrid.org/gluex/root-6.27.01/x86_64
#export PATH=$ROOTSYS/bin:$PATH
#export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
export PATH=$(echo $PATH | awk -F: '{for(i=1;i<=NF;++i){print $i}}' | grep -v root | awk 'BEGIN{newpath="."}{newpath=newpath":"$1}END{print newpath}')
export LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | awk -F: '{for(i=1;i<=NF;++i){print $i}}' | grep -v root | awk 'BEGIN{newpath="."}{newpath=newpath":"$1}END{print newpath}')

unset PYTHONSTARTUP

# add pointers to Geant4 libraries
if [[ "$G4BUILD" = "cvmfs debug" ]]; then
    G4ROOT=/cvmfs/geant4.cern.ch/geant4/10.7.p04/x86_64-centos7-gcc10-optdeb
    G4WORKDIR=/cvmfs/oasis.opensciencegrid.org/gluex/HDGeant4/alma9-debug
elif [[ "$G4BUILD" = "cvmfs" ]]; then
    G4ROOT=/cvmfs/geant4.cern.ch/geant4/10.7.p04/x86_64-centos7-gcc10-optdeb-MT
    G4WORKDIR=/cvmfs/oasis.opensciencegrid.org/gluex/HDGeant4/alma9-MT
elif [[ "$G4BUILD" = "debug" ]]; then
    G4ROOT=/cvmfs/oasis.opensciencegrid.org/gluex/geant4-v10.7.4/alma9-debug
    G4WORKDIR=/cvmfs/oasis.opensciencegrid.org/gluex/HDGeant4/alma9-debug
else
    G4ROOT=/cvmfs/oasis.opensciencegrid.org/gluex/geant4-v10.7.4/alma9-MT
    G4WORKDIR=/cvmfs/oasis.opensciencegrid.org/gluex/HDGeant4/alma9-MT
fi
G4INSTALL=$G4ROOT/share/geant4make
G4INCLUDE=$G4ROOT/include/Geant4
export G4ROOT G4INSTALL G4INCLUDE G4WORKDIR
source $G4ROOT/bin/geant4.sh
source $G4INSTALL/geant4make.sh
export PATH=$G4WORKDIR/bin/Linux-g++:$PATH
export LD_LIBRARY_PATH=$G4WORKDIR/tmp/Linux-g++/hdgeant4:$LD_LIBRARY_PATH
export CLHEP_DIR=/cvmfs/oasis.opensciencegrid.org/gluex/CLHEP
export CLHEP_BASE_DIR=$CLHEP_DIR/x86_64-alma9
export CLHEP_INCLUDE_DIR=$CLHEP_DIR/x86_64-alma9/include
export CLHEP_LIB_DIR=$CLHEP_BASE_DIR/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CLHEP_LIB_DIR
unset CLHEP


export DIRACXX_HOME=/cvmfs/oasis.opensciencegrid.org/gluex/Diracxx
export DIRACXX_DIR=$DIRACXX_HOME/x86_64-alma9
if echo $LD_LIBRARY_PATH | grep -q $DIRACXX_DIR; then
    true
else
    export LD_LIBRARY_PATH=$DIRACXX_DIR/lib:$LD_LIBRARY_PATH
    export ROOT_INCLUDE_PATH=/usr/include/root:$DIRACXX_DIR/include
    export PYTHONPATH=$DIRACXX_DIR/python:$PYTHONPATH
fi
