// @(#)codeTDv2Final/CTDR_Electrons :$Name:  $:$Id: CTDR_Electrons.h,v 1.20 2006/11/24 16:10:45 Benoit Exp $
// Author: Mathieu Benoit <mailto:ben.beland@gmail.com>  24/11/06

//////////////////////////////////////////////////////////////////////////
// CTDR_Electron						        //
// This class represent a charge element of a gamma interaction in CZT. //              
// It contains all the function to simulate its behavior 		//
// from generation to collection 					//
//////////////////////////////////////////////////////////////////////////

#ifndef CTDR_ELECTRON_H_DEF
#define CTDR_ELECTRON_H_DEF
#include "CTDR_Field.h"


enum Etats {piege,libre};      // type de variable definisant l'etat d'un CTDR_Electron piegé ou libre
enum E_piege {profond,normal};
enum E_collecte {collecte,Libre};

class CTDR_Electron : public TObject
{
private :
	long double x;	//Position in X
	long double y;	//Position in Y
	long double z;	//Position in Z
	long double Q;	//Charge 
	long double mobilite;	//Mobility
	long double D;	//Diffusion coefficient
	double Temps_piegeage;	//Time until next trap
	double Temps_depiegeage;	//Time before detrapping
	Etats Etat;	//true=piege, false =libre
	E_piege Etat_prochain_piege;	//true = profond , false=normal
	E_collecte E_collection;	//Collection state


public :
	CTDR_Electron();

	void SetValeurInitial
	(double x,double y, double z, double mobilite,double Q);

	void SetPosition
	(double x,double y, double z);

	void SetEtat
	(Etats etat_voulu,E_piege etat_piege_voulu);

	void Collecte(double z);

	E_collecte GetEcollecte();

	long double GetX
	();
	long double GetY
	();
	long double GetZ
	();

	long double GetQ
	();

	Etats GetEtat
	();

	void Piege
	();

	void Depiege
	();

	void Diffusion_Repulsion
	(bool diffusion, bool repulsion,double xrms, double yrms, double zrms,int N,double dt);


	void Transport
	(double Ex, double Ey, double Ez,double dt);

	void Iterateur
	(double dt,int N,double xrms,double yrms,double zrms,CTDR_Field &A);


	ClassDef(CTDR_Electron,0) //A charge element
};

#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.