ROOT logo
///////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                           //
//                                                                                           //
//      DIGPlane                                                                             //
//                                                                                           //
//       Plane/Chip class                                                                    //
//          contains geometrical information on the chip                                     //
//              (number of pixels, pitch, epitaxial layer thickness etc.)                    //
//                                                                                           //
//                                                                                           //
//                                                                                           //
///////////////////////////////////////////////////////////////////////////////////////////////
#include <digplane.h>

#include <TROOT.h> // for gROOT object
#include <TMath.h>
#include <TMatrixD.h>
#include <TCanvas.h>
#include <TGraph.h>
#include <TAxis.h>
#include <TRandom3.h>
#include <TFile.h>
#include <TTree.h>
#include <TBranch.h>
#include <TClonesArray.h>
using namespace std;

//==============================================================================
ClassImp(DIGPlane)

DIGPlane::DIGPlane()  
{
  //
  // default constructor
  //
  fPitchX = 0.0;
  fPitchY = 0.0;
  fXdimension = 0.0;
  fYdimension = 0.0;
  fZdimension = 0.0;
  fNpixelsX = 0;
  fNpixelsY = 0;
}
//______________________________________________________________________________
//  

DIGPlane::~DIGPlane() { // 
  // virtual destructor
  //
  //  delete fLayers;
}

//______________________________________________________________________________
//  

void DIGPlane::SetDimensions(Float_t Xdimension,Float_t Ydimension,Float_t Zdimension) {
  //
  // Set dimensions of the Plane
  //
  fXdimension = Xdimension;
  fYdimension = Ydimension;
  fZdimension = Zdimension;
}

//______________________________________________________________________________
//  
void DIGPlane::SetPitch(Float_t PitchX,Float_t PitchY){
  fPitchX = PitchX;
  fPitchY = PitchY;
}
//______________________________________________________________________________
//  
void DIGPlane::SetNpixels(Int_t NpixelsX,Int_t NpixelsY){
  fNpixelsX = NpixelsX;
  fNpixelsY = NpixelsY;
}
//______________________________________________________________________________
//  
void DIGPlane::SetNoiseElectrons(Float_t NoiseElectrons){
  fNoiseElectrons = NoiseElectrons;
}
//______________________________________________________________________________
//  
void DIGPlane::SetTemperature(Float_t Temperature){
  fTemperature = Temperature;
}
//______________________________________________________________________________
//  
void DIGPlane::SetIonizationEnergy(Float_t IonizationEnergy){
  fIonizationEnergy = IonizationEnergy;
}
//______________________________________________________________________________
//  
void DIGPlane::SetSegmentSize(Float_t SegmentSize){
  fSegmentSize = SegmentSize;
}
//______________________________________________________________________________
//  
void DIGPlane::SetMaximumSegmentSize(Float_t MaximumSegmentSize){
  fMaximumSegmentSize = MaximumSegmentSize;
}
//______________________________________________________________________________
//  
void DIGPlane::SetMaximumChargePerSegment(Float_t MaximumChargePerSegment){
  fMaximumChargePerSegment = MaximumChargePerSegment;
}
//______________________________________________________________________________
//  
void DIGPlane::SetDiffusionMaximumRange(Float_t DiffusionMaximumRangeInX,Float_t DiffusionMaximumRangeInY){
  fDiffusionMaximumRangeInX = DiffusionMaximumRangeInX;
  fDiffusionMaximumRangeInY = DiffusionMaximumRangeInY;
}
//______________________________________________________________________________
//  
void DIGPlane::SetReflexionCoefficient(Float_t ReflexionCoefficient){
  fReflexionCoefficient = ReflexionCoefficient;
}
//______________________________________________________________________________
//  
void DIGPlane::SetBasicModel_SigmaTenMicrons(Float_t BasicModel_SigmaTenMicrons){
  fBasicModel_SigmaTenMicrons = BasicModel_SigmaTenMicrons;
}
//______________________________________________________________________________
//  

void DIGPlane::PrintInfo() {
  std::cout<<"---------Plane properties------------- "<<endl;
  std::cout<<"fPitchX fPitchY fXdimension fYdimension fZdimension  "<<endl;
  std::cout<<fPitchX<<" "<< fPitchY<<" "<< fXdimension<<" "<< fYdimension<<" "<< fZdimension  <<endl;
  std::cout<<"fNpixelsX fNpixelsY fNoiseElectrons fTemperature  "<<endl;
  std::cout<<fNpixelsX<<" "<< fNpixelsY<<" "<< fNoiseElectrons<<" "<< fTemperature  <<endl;
  std::cout<<"fIonizationEnergy fSegmentSize fMaximumSegmentSize fMaximumChargePerSegment "<<endl;
  std::cout<<fIonizationEnergy <<" "<<fSegmentSize<<" "<< fMaximumSegmentSize<<" "<< fMaximumChargePerSegment <<endl;
  std::cout<<"fDiffusionMaximumRangeInX fDiffusionMaximumRangeInY fReflexionCoefficient "<<endl; 
  std::cout<<fDiffusionMaximumRangeInX<<" "<< fDiffusionMaximumRangeInY <<" "<<fReflexionCoefficient <<endl; 
  std::cout<<"fBasicModel_SigmaTenMicrons"<<endl;
  std::cout<<fBasicModel_SigmaTenMicrons<<endl;

}


//==============================================================================
 digplane.cxx:1
 digplane.cxx:2
 digplane.cxx:3
 digplane.cxx:4
 digplane.cxx:5
 digplane.cxx:6
 digplane.cxx:7
 digplane.cxx:8
 digplane.cxx:9
 digplane.cxx:10
 digplane.cxx:11
 digplane.cxx:12
 digplane.cxx:13
 digplane.cxx:14
 digplane.cxx:15
 digplane.cxx:16
 digplane.cxx:17
 digplane.cxx:18
 digplane.cxx:19
 digplane.cxx:20
 digplane.cxx:21
 digplane.cxx:22
 digplane.cxx:23
 digplane.cxx:24
 digplane.cxx:25
 digplane.cxx:26
 digplane.cxx:27
 digplane.cxx:28
 digplane.cxx:29
 digplane.cxx:30
 digplane.cxx:31
 digplane.cxx:32
 digplane.cxx:33
 digplane.cxx:34
 digplane.cxx:35
 digplane.cxx:36
 digplane.cxx:37
 digplane.cxx:38
 digplane.cxx:39
 digplane.cxx:40
 digplane.cxx:41
 digplane.cxx:42
 digplane.cxx:43
 digplane.cxx:44
 digplane.cxx:45
 digplane.cxx:46
 digplane.cxx:47
 digplane.cxx:48
 digplane.cxx:49
 digplane.cxx:50
 digplane.cxx:51
 digplane.cxx:52
 digplane.cxx:53
 digplane.cxx:54
 digplane.cxx:55
 digplane.cxx:56
 digplane.cxx:57
 digplane.cxx:58
 digplane.cxx:59
 digplane.cxx:60
 digplane.cxx:61
 digplane.cxx:62
 digplane.cxx:63
 digplane.cxx:64
 digplane.cxx:65
 digplane.cxx:66
 digplane.cxx:67
 digplane.cxx:68
 digplane.cxx:69
 digplane.cxx:70
 digplane.cxx:71
 digplane.cxx:72
 digplane.cxx:73
 digplane.cxx:74
 digplane.cxx:75
 digplane.cxx:76
 digplane.cxx:77
 digplane.cxx:78
 digplane.cxx:79
 digplane.cxx:80
 digplane.cxx:81
 digplane.cxx:82
 digplane.cxx:83
 digplane.cxx:84
 digplane.cxx:85
 digplane.cxx:86
 digplane.cxx:87
 digplane.cxx:88
 digplane.cxx:89
 digplane.cxx:90
 digplane.cxx:91
 digplane.cxx:92
 digplane.cxx:93
 digplane.cxx:94
 digplane.cxx:95
 digplane.cxx:96
 digplane.cxx:97
 digplane.cxx:98
 digplane.cxx:99
 digplane.cxx:100
 digplane.cxx:101
 digplane.cxx:102
 digplane.cxx:103
 digplane.cxx:104
 digplane.cxx:105
 digplane.cxx:106
 digplane.cxx:107
 digplane.cxx:108
 digplane.cxx:109
 digplane.cxx:110
 digplane.cxx:111
 digplane.cxx:112
 digplane.cxx:113
 digplane.cxx:114
 digplane.cxx:115
 digplane.cxx:116
 digplane.cxx:117
 digplane.cxx:118
 digplane.cxx:119
 digplane.cxx:120
 digplane.cxx:121
 digplane.cxx:122
 digplane.cxx:123
 digplane.cxx:124
 digplane.cxx:125
 digplane.cxx:126
 digplane.cxx:127
 digplane.cxx:128
 digplane.cxx:129
 digplane.cxx:130
 digplane.cxx:131
 digplane.cxx:132
 digplane.cxx:133
 digplane.cxx:134
 digplane.cxx:135
 digplane.cxx:136
 digplane.cxx:137
 digplane.cxx:138
 digplane.cxx:139
 digplane.cxx:140
 digplane.cxx:141
 digplane.cxx:142