Generated by Python tool to show the relationship of CPP files. 
Command line:
['/data/wulong/scripts/header_dependency.py', '../../mzXMLReader/', 'True']
@startuml
(*) --> (*)
"hamming.h"  --> "Heap.h"
"ProductQuantizer.h"  --> "Clustering.h"
"ProductQuantizer.h"  --> "Heap.h"
"FaissAssert.h"  --> "FaissException.h"
"EMAlgorithm.h"  --> "Util.h"
"EMAlgorithm.h"  --> "Visual.h"
"MetaIndexes.h"  --> "Index.h"
"Com.h"  --> "BasicFunction.h"
"CMyIndex.h"  --> "ICIndexWrapper.h"
"SpectraST_ramp.h"  --> "sysdepend.h"
"SpectraST_ramp.h"  --> "random_access_gzFile.h"
"SpectraST_ramp.h"  --> "SpectraST_base64.h"
"SpectraST_mzParser.h"  --> "expat.h"
"SpectraST_mzParser.h"  --> "zlib.h"
"SpectraST_mzParser.h"  --> "SpectraST_MSNumpress.hpp"
"SpectraST_mzParser.h"  --> "hdf5.h"
"SpectraST_mzParser.h"  --> "H5Cpp.h"
"SpectraST_kwset.h"  --> "SpectraST_obstack.h"
"CMyIndex.h"  --> "ICIndexWrapper.h"
"Predictor.h"  --> "Parameters.h"
"Predictor.h"  --> "Clog.h"
"Predictor.h"  --> "BasicFunction.h"
"IndexPQ.h"  --> "Index.h"
"IndexPQ.h"  --> "ProductQuantizer.h"
"IndexPQ.h"  --> "PolysemousTraining.h"
"MS2Reader.h"  --> "Parameters.h"
"MS2Reader.h"  --> "MS2Spectrum.h"
"SWATHmzXMLReader.h"  --> "mzXMLReader.h"
"MARSModel.h"  --> "BasicFunction.h"
"MARSModel.h"  --> "Dense"
"MS1Spectrum.h"  --> "BasicFunction.h"
"AuxIndexStructures.h"  --> "Index.h"
"PolysemousTraining.h"  --> "ProductQuantizer.h"
"IndexIVFPQ.h"  --> "IndexIVF.h"
"IndexIVFPQ.h"  --> "IndexPQ.h"
"MS1Reader.h"  --> "Parameters.h"
"MS1Reader.h"  --> "MS1Spectrum.h"
"MS1Reader.h"  --> "TrainingFileReader.h"
"MS1Reader.h"  --> "MS2Reader.h"
"MS1Reader.h"  --> "CpParseDebug.h"
"MS1Reader.h"  --> "Predictor.h"
"MS1Reader.h"  --> "mars.h"
"MS1Reader.h"  --> "CPeakMap.h"
"MS1Reader.h"  --> "IPVCalc.h"
"SpectraST_kwset.h"  --> "SpectraST_obstack.h"
"XMLFileParser.h"  --> "rapidxml.hpp"
"XMLFileParser.h"  --> "ICGtInfoUpdate.h"
"utils.h"  --> "Heap.h"
"IndexIVF.h"  --> "Index.h"
"IndexIVF.h"  --> "Clustering.h"
"IndexIVF.h"  --> "Heap.h"
"Clustering.h"  --> "Index.h"
"CMzFileReader.h"  --> "ICMzFile.h"
"AutoTune.h"  --> "Index.h"
"CKMeans.h"  --> "Core"
"CKMeans.h"  --> "Dense"
"IndexFlat.h"  --> "Index.h"
"SpectraST_ramp.h"  --> "sysdepend.h"
"SpectraST_ramp.h"  --> "random_access_gzFile.h"
"SpectraST_ramp.h"  --> "SpectraST_base64.h"
"predicted_spectra.h"  --> "AllScoreModels.h"
"IndexLSH.h"  --> "Index.h"
"IndexLSH.h"  --> "VectorTransform.h"
"CFaissIndex.h"  --> "ICIndexWrapper.h"
"swathdenoise.h"  --> "PeakList.h"
"IndexScalarQuantizer.h"  --> "IndexIVF.h"
"CFaissIndex.h"  --> "ICIndexWrapper.h"
"dpcuda.h"  --> "ICMzFile.h"
"CLinearRegression.h"  --> "Core"
"CLinearRegression.h"  --> "Dense"
"CKMeans.h"  --> "Core"
"CKMeans.h"  --> "Dense"
"ConcreteQueries.h"  --> "ICQuery.h"
"VectorTransform.h"  --> "Index.h"
"ICMzFile.h"  --> "ICHistdata.h"
"SpectraST_ramp.h"  --> "sysdepend.h"
"SpectraST_ramp.h"  --> "random_access_gzFile.h"
"SpectraST_ramp.h"  --> "SpectraST_base64.h"
"BasicFunction.h"  --> "Clog.h"
"BasicFunction.h"  --> "CPFReader.h"
"BasicFunction.h"  --> "Parameters.h"
"FCgiIO.h"  --> "fcgio.h"
"FCgiIO.h"  --> "CgiInput.h"
"MS2Spectrum.h"  --> "BasicFunction.h"
"CWorkFlow.h"  --> "Parameters.h"
"CWorkFlow.h"  --> "BasicFunction.h"
"CWorkFlow.h"  --> "MS1Reader.h"
"pvalueCalc.cpp" #99FF99 --> "pvalueCalc.h"
"pvalueCalc.cpp" #99FF99 --> "CThreadsPool.h"
"pvalueCalc.cpp" #99FF99 --> "CTailEstimation.h"
"pvalueCalc.cpp" #99FF99 --> "Visual.h"
"pvalueCalc.cpp" #99FF99 --> "CFragmentIndex.h"
"pvalueCalc.cpp" #99FF99 --> "ConcreteQueries.h"
"pvalueCalc.cpp" #99FF99 --> "CArchiveSearchReply.h"
"pvalueCalc.cpp" #99FF99 --> "CMzFileReader.h"
"pvalueCalc.cpp" #99FF99 --> "Util.h"
"pvalueCalc.cpp" #99FF99 --> "ICHistdata.h"
"pvalueCalc.cpp" #99FF99 --> "ProteomicsDataTypes.h"
@enduml