This file is indexed.

/usr/include/libphylo/stochasticProcess.h is in rate4site 3.0.0-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// 	$Id: stochasticProcess.h 2511 2007-11-04 12:08:50Z cohenofi $	

#ifndef ___STOCHASTIC_PROCESS
#define ___STOCHASTIC_PROCESS

#include "pijAccelerator.h"
#include "distribution.h"
#include <cassert>

class stochasticProcess{
public:
	explicit stochasticProcess(const distribution *in_distr,const pijAccelerator *pijAccelerator, bool isReversible = true);
	explicit stochasticProcess() {
		_distr=NULL; _pijAccelerator=NULL; _isReversible=true;
	}
	stochasticProcess(const stochasticProcess& other);
	virtual stochasticProcess* clone() const {return new stochasticProcess(*this);}
	
	const int alphabetSize() const {return _pijAccelerator->alphabetSize();} // The alphabet size is the same as the matrix Pij size

	virtual const int categories() const {return _distr->categories();}
	virtual const MDOUBLE rates(const int i) const {return _distr->rates(i);}
	virtual const MDOUBLE ratesProb(const int i) const {return _distr->ratesProb(i);}

	
	virtual const MDOUBLE Pij_t(const int i, const int j, const MDOUBLE t) const {
		if (t!=0) return _pijAccelerator->Pij_t(i,j,t);
		return (i==j)? 1 : 0;
	}

	const MDOUBLE freq(const int i) const {assert(i>=0);return _pijAccelerator->freq(i);}	// P(i)
	const MDOUBLE dPij_dt(const int i,const  int j,const MDOUBLE t) const {	return _pijAccelerator->dPij_dt(i,j,t);}
	const MDOUBLE d2Pij_dt2(const int i, const int j, const MDOUBLE t) const { return _pijAccelerator->d2Pij_dt2(i,j,t);}


	virtual distribution* distr() const {return _distr;} // @@@@ this const is a lie !!!
	virtual const pijAccelerator* getPijAccelerator() const {return _pijAccelerator;}
	virtual void setDistribution(const distribution* in_distr);

	stochasticProcess& operator=(const stochasticProcess &otherStoc);
	virtual ~stochasticProcess();
 	virtual void setGlobalRate(const MDOUBLE x) {_distr->setGlobalRate(x);}
 	virtual MDOUBLE getGlobalRate() const {return _distr->getGlobalRate();}
	const bool isReversible() const {return _isReversible;}


protected:
	distribution *_distr;
	pijAccelerator *_pijAccelerator;
	bool _isReversible;
};



#endif


// Stochastic process is composed of two objects: a distribution of rates and a Pij accelerator.