IncludeFiles: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
Line 37: Line 37:
|-  
|-  
| KinKal          || KINKAL_INC          || KinKal::  || [https://github.com/KFTrack/KinKal https://github.com/KFTrack/KinKal]]
| KinKal          || KINKAL_INC          || KinKal::  || [https://github.com/KFTrack/KinKal https://github.com/KFTrack/KinKal]]
|-
| mu2e_pcie_utils  || MU2E_PCIE_UTILS_INC  || DTCLib:: || [https://github.com/Mu2e/mu2e_pcie_utils https://github.com/Mu2e/mu2e_pcie_utils]
|-
|-
| messagefacility  || MESSAGEFACILITY_INC  || mf::      || [https://github.com/art-framework-suite/messagefacility https://github.com/art-framework-suite/messagefacility]
| messagefacility  || MESSAGEFACILITY_INC  || mf::      || [https://github.com/art-framework-suite/messagefacility https://github.com/art-framework-suite/messagefacility]
Line 46: Line 48:
|  (no prefix)    || ROOT_INC            || (none)    || [https://github.com/root-project/root https://github.com/root-project/root]
|  (no prefix)    || ROOT_INC            || (none)    || [https://github.com/root-project/root https://github.com/root-project/root]
|}
|}
=== Files Included from ROOT===
The syntax to incluude a root header file is to specify a path relative to $ROOT_INC.  Because of the way that the root repository is structured, this results in most include directives containing only the filename.  In almost all cases, the filename starts with a capital letter T, for example
  #include "TH1F.h"
There are a small number of exceptional cases in which the filename starts with a capital letter R.  Two cases that occur in the Mu2e code base are:
  #include "Rtypes.h"
  #include "Riostream.h"
Finally, some header files live in subdirectories under $ROOT_INC.  The two subdirectories that occur in the Mu2e code base are Math and TVMA, for example
  #include "Math/Vector3D.h"
  #include "TMVA/Factory.h"
=== Exceptions ===
There is one other exception in a recent scan of Offline.  The file included with,
  #include "dtcInterfaceLib/DTC_Packets.h"
Is found in the repository mu2e_pcie_utils, which can be found in the above table.


==FCL Files==
==FCL Files==

Revision as of 04:50, 7 September 2023

Finding Include Files

C++ Code

The table below will help you to find include files for external packages.


Package/Prefix Environment Variable Namespace Source - Be careful to use the correct tag!
art ART_INC art:: https://github.com/art-framework-suite/art
artdaq-core ARTDAQ_CORE_INC artdaq:: https://github.com/art-daq/artdaq_core
artdaq-core-mu2e ARTDAQ_CORE_MU2E_INC mu2e:: https://github.com/Mu2e/artdaq_core_mu2e
art_root_io ART_ROOT_IO_INC art:: https://github.com/art-framework-suite/art-root-io
boost BOOST_INC boost:: https://github.com/boostorg/boost
BTrk BTRK_INC (none) https://github.com/KFTrack/BTrk
canvas CANVAS_INC art:: https://github.com/art-framework-suite/canvas
cetlib CETLIB_INC cet:: https://github.com/art-framework-suite/cetlib
cetlib_except CETLIB_EXCEPT_INC cet:: https://github.com/art-framework-suite/cetlib-except
CLHEP CLHEP_INC CLHEP:: https://gitlab.cern.ch/CLHEP/CLHEP
fhiclcpp FHICLCPP_INC fhicl:: https://github.com/art-framework-suite/fhicl-cpp
Geant4 G4INCLUDE (none) https://gitlab.cern.ch/geant4/geant4
gsl GSL_INC (none) https://github.com/ampl/gsl
KinKal KINKAL_INC KinKal:: https://github.com/KFTrack/KinKal]
mu2e_pcie_utils MU2E_PCIE_UTILS_INC DTCLib:: https://github.com/Mu2e/mu2e_pcie_utils
messagefacility MESSAGEFACILITY_INC mf:: https://github.com/art-framework-suite/messagefacility
tbb TBB_INC tbb::
xercesc XERCES_C_INC xercesc:: https://github.com/apache/xerces-c
(no prefix) ROOT_INC (none) https://github.com/root-project/root

Files Included from ROOT

The syntax to incluude a root header file is to specify a path relative to $ROOT_INC. Because of the way that the root repository is structured, this results in most include directives containing only the filename. In almost all cases, the filename starts with a capital letter T, for example

 #include "TH1F.h"

There are a small number of exceptional cases in which the filename starts with a capital letter R. Two cases that occur in the Mu2e code base are:

 #include "Rtypes.h"
 #include "Riostream.h" 

Finally, some header files live in subdirectories under $ROOT_INC. The two subdirectories that occur in the Mu2e code base are Math and TVMA, for example

 #include "Math/Vector3D.h"
 #include "TMVA/Factory.h"

Exceptions

There is one other exception in a recent scan of Offline. The file included with,

 #include "dtcInterfaceLib/DTC_Packets.h"

Is found in the repository mu2e_pcie_utils, which can be found in the above table.

FCL Files

Auxillary Files

 SimpleConfig, BField maps ...