#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#ifndef BReconClassesDef
class BPeak
{
private:
public:
double pos;
double epos;
float *data;
int sleft;
int sright;
int max;
int flagged;
BPeak();
~BPeak();
double Integral();
void GetPosition(float=0, bool=false);
void Print();
};
class BHitMap
{
private:
public:
int NumCh;
float *HitMap;
unsigned char *BadCh;
BHitMap(int=130);
~BHitMap();
void Reset(int=0);
void AddNoise();
void Set(int,float *);
void Copy(float *);
void BadChannels(unsigned char *);
int FindPeaks(BPeak *[],double=0.01,double=0.1);
};
class BPHole
{
private:
public:
double r[3];
double st;
double ro;
double ri;
BPHole(double x,double y, double z, double x1=0, double x2=0)
{r[0]=x; r[1]=y; r[2]=z; ro=x1; ri=x2; };
BPHole() {};
~BPHole(){};
void Print();
};
class BDetector : public BHitMap
{
#define MAXPEAK 10
private:
double Pitch;
double DetPos;
double DetZ;
int orient;
public:
int NumPeak;
BPeak *Peak[MAXPEAK];
BDetector(double=480e-4,double=-3.048);
~BDetector(){};
inline void Orientation(int x){orient=x;}
inline int Orientation(){return(orient);}
void PrintPosition();
double GetPosition(int=0);
double GetPositionError(int=0);
inline double GetZPos(){return DetZ;}
inline double SetZPos(double z){DetZ=z;}
void FindPeakss(){FindPeaks(Peak);};
};
class BPTrack
{
private:
public:
BDetector *det1;
BDetector *det2;
BPHole *PHole;
int Peak1;
int Peak2;
double DetP1[3];
double DetP2[3];
BPTrack(){};
~BPTrack(){};
void GetTrack();
void GetError();
void GetDirection();
void Print();
double GetTrackDistance(BPTrack *,double * = NULL);
double GetDistancePoint(double *,double * = NULL);
};
class Ir192
{
private:
public:
Ir192(){};
~Ir192(){};
double Get();
};
class BPPhoton
{
private:
TRandom rnd;
public:
float Xsect[3][6][100];
double rho[3];
double step_size;
int step_type;
double prob;
int step_count;
int Cmat;
double Pprob;
bool CComp;
double Cpos[3];
double Cdir[3];
double Cen;
double CDen;
bool SiHit;
int Emi;
BPPhoton(){step_count=0; prob=1; Pprob=1;};
~BPPhoton(){};
void Reset()
{CComp=0; prob=1; Cmat=-1; Pprob=1; CDen=0; step_count=0; step_size=0; step_type=0;};
void ReadXSect(int, char *[]);
double StepSize(bool=true);
double GetXSect(int,int, double);
void Print();
void DoStep(bool);
inline void SetCPos(double *pos) {for(int i=0;i<3;i++) Cpos[i]=pos[i];}
inline void SetCDir(double *dir) {for(int i=0;i<3;i++) Cdir[i]=dir[i];}
inline void SetStepSize(double ss) {step_size=ss; step_type=3;}
inline void SetRho(double *x){for(int i=0;i<3;i++) rho[i]=x[i];}
double GetIntProb(int=0,double=-1);
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.