#include "CTDR_Detecteur.h"

CTDR_Detecteur


class description - header file - source file - inheritance tree (.pdf)

class CTDR_Detecteur: public CTDR_Tree

Inheritance Chart:
TObject
CTDR_Tree
CTDR_Detecteur

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
CTDR_Detecteur(const CTDR_Detecteur&)
CTDR_Detecteur(TFile& Fichier, int NdivX, int NdivY, int NdivZ, double LX, double LY, double LZ, double periode)
~CTDR_Detecteur()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")
voidDetecte(CTDR_Interaction& inter)
voidDetecte(CTDR_Interaction& inter, basic_ofstream<char,char_traits<char> >& off)
voidDetecte(CTDR_Interaction& inter, basic_ofstream<char,char_traits<char> >& off, int N_csanaux)
voidDetectef(CTDR_Interaction& inter, basic_ofstream<char,char_traits<char> >& off)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
doubleGetVx()
doubleGetVy()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Long64_tCTDR_Tree::Hash(double x, double y, double z)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidInterpole2D(double x, double y)
voidInterpole3D(double x, double y, double z)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
CTDR_Detecteur&operator=(const CTDR_Detecteur&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidPotentiel(double x, double y, double z)
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidCTDR_Tree::SetPoints(double x, double y, double z)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
voidTest(double x, double y, double z)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
intCTDR_Tree::NDivxnumber of slices in x
intCTDR_Tree::NDivynumber of slices in y
intCTDR_Tree::NDivznumber of slices in z
doubleCTDR_Tree::LxSize in X
doubleCTDR_Tree::LySize in Y
doubleCTDR_Tree::LzSize in Z
doubleCTDR_Tree::lowxLowest x point of a cube
doubleCTDR_Tree::lowyLowest y point of a cube
doubleCTDR_Tree::lowzLowest z point of a cube
doubleCTDR_Tree::highxHighest x point of a cube
doubleCTDR_Tree::highyHighest y point of a cube
doubleCTDR_Tree::highzHighest z point of a cube
private:
TTree*TVxX channel weighting potential
TTree*TVyY channel weighting potential
doubleVxWeigting potential for X channel
doubleVyWeigting potential for Y channel
doubleVxfFinal weigting potential for X channel
doubleVyfFinal weigting potential for Y channel
doublex_VxVariable where Tree's data are read
doubley_Vx
doublez_Vx
doubleV_Vx
doublex_Vy
doubley_Vy
doublez_Vy
doubleV_Vy
doubleQ0x
doubleQ0y
doubleperiode

Class Description

CTDR_Detecteur(TFile &Fichier, int NdivX, int NdivY, int NdivZ,double LX,double LY, double LZ,double periode)
 Constructor for the weighting potential 
 We retrieve 2 TTree from a file. These data tree contain data of the weigthing potential inside a logical pixel of
 our detector, for the X, and Y channel. The data are obtained from a finite-emelent analysis software, COMSOL multiphysics, and
 we retreive an array of 100*100*100 for nodes inside the model at constant distance. Each data point
 is assigned a unique ID calculated from its position. It allow us to get the memory adress of a weighting potential value
 by calculating the ID associated to the position where we need the value. We then retreive the weighting potential
 value from the tree using this unique ID pointing to its adress in the tree's memory  The data trees are created one time , 
 prior to simulation, using Treereader.c ROOT script  his allow to modify the script to use weighting potential Data 
 from various sources without touching this code.The Storage of the data in .root files allow to get in memory large amount of data, 
 compressed with an efficient method that allow a fast acces to data in the tree.  
 
 See class Field for comments on function uncommented here, they are clones that will eventually be
 merged as one single polymorphic class.                  
void Potentiel(double x , double y ,double z)
 For the weigting potential , we pay special attention to the values at the surface,
 So we switch top two dimensional interpolation close to the surface, mainly to avoid some bug
 seen when using 3-D interpolation.          
void Interpole3D(double x, double y , double z)
 See CTDR_Field 
void Interpole2D(double x, double y)
 The 2-D interpolator, works like the 3-D one.
void Detecte(CTDR_Interaction &inter)
 This methods calculate the integration constant for inducted charge integral
 for a whole CTDR_Interaction :

 Inducted charge=sum of final weigting potential - sum of initial weighting potentials 
void Detecte(CTDR_Interaction &inter,ofstream &off)
 This function compute the inducted charge during simulated and write to a file 
 the inducted charge in X, and Y channel each time the function is evoked
void Detecte(CTDR_Interaction &inter,ofstream &off,int N_canaux)
 This function compute the inducted charge during simulated and write to a file 
 the inducted charge in X, and Y channel each time the function is evoked
void Detectef(CTDR_Interaction &inter,ofstream &off)
 This function is used to write the final inducted charge to a file.
 The difference with the previous function is that the time is not written
 I use this function to accumulate in a file final charge values of many events to create scatter plots
double GetVx()
 Data acces method for the wighting potential value for X channel
double GetVy()
 Data acces method for the wighting potential value for Y channel
void Test(double x , double y ,double z )
 A test function, outputs the potential for a given position
CTDR_Detecteur(TFile &Fichier, int NdivX,int NdivY, int NdivZ,double LX, double LY, double LZ,double periode)

Author: Mathieu Benoit
Last update: root/html:$Name: $:$Id: THtml.cxx,v 1.124 2006/11/24 16:01:02 $


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.