21 #include "Riostream.h"
26 #include "TStopwatch.h"
36 #include "TObjArray.h"
39 #include "TClonesArray.h"
41 #include "dighistograms.h"
58 static const Double_t PI=3.14159265358979312;
59 extern Int_t GlobalSeed;
64 DIGMAPS(
char *name,
char *title, TString aCP, TString aCFN, TString action);
65 DIGMAPS(
char *name,
char *title, TString aCP, TString aCFN, TString outp, TString outf, TString action );
68 void RunConfiguration(Int_t configcounter, Int_t BeamNumber, Int_t PlaneNumber, Int_t ADCNumber, Int_t TransportNumber);
69 void ReadTree(TString StringTree) ;
70 void PrintConfigurations();
71 void ChargeGeneration(
DIGParticle &aDIGParticle, Float_t StartingSegmentSize,
72 Float_t MaximumSegmentSize,
73 Float_t MaximumChargePerSegment);
76 void InspectEvent(Int_t EventNumber);
77 void PlotAConfiguration(Int_t confignumber, Bool_t newcanvas);
78 void PlotDigitalConfiguration(Bool_t newcanvas, Int_t *configlist, Int_t Nconfig);
80 void SetConfigPath(TString aCP) ;
81 void SetConfigFileName(TString aCFN) ;
82 void SetConfigPathAndFileName() ;
83 void SetConfigPathAndFileName(TString aCP,TString aCFN) ;
84 void SetOutputPath(TString outp) ;
85 void SetOutputFileName(TString outf) ;
86 void SetOutputPathAndFileName() ;
87 void SetOutputPathAndFileName(TString outp,TString outf) ;
88 void SetIsOutputfile(Bool_t IsOutputfile);
89 void SetNumberOfConfigurations(Int_t NumberOfConfiguration);
90 void SetfAction(TString action) ;
93 TString GetConfigPath() ;
94 TString GetConfigFileName() ;
95 TString GetConfigPathAndFileName() ;
96 TString GetOutputPath() {
return fOutputPath ;}
97 TString GetOutputFileName() {
return fOutputFileName; }
98 TString GetOutputPathAndFileName() {
return fOutputPathAndFileName;}
99 Bool_t GetIsOutputfile() {
return fIsOutputfile;}
101 Int_t GetPlanesN() {
return fPlanesN; }
102 DIGPlane *GetPlane(Int_t aPlaneNumber);
103 Int_t GetADCN() {
return fADCN; }
104 DIGADC *GetADC(Int_t anADCNumber);
105 Int_t GetTransportN() {
return fTransportN; }
107 Int_t GetBeamN() {
return fBeamN; }
108 DIGBeam *GetBeam(Int_t aBeamNumber);
109 DIGEvent *GetEvent(){
return fdigevent;}
111 DIGResult *GetResult(Int_t aResultNumber){
return (
DIGResult*)fDIGResultArray->At(aResultNumber);}
115 Int_t GetNumberOfConfigurations() {
return fNumberOfConfigurations; }
116 DIGAction *GetAction(){
return fDIGAction;}
117 TString GetfAction(){
return fAction;}
119 Int_t PoissonLaw(Float_t Lambda);
120 Double_t LandauLaw(Double_t mean, Double_t sigma);
121 Double_t GaussianLaw(Double_t mean, Double_t sigma);
122 Double_t Lorentz2D(Double_t *x, Double_t *par);
134 TString fConfigFileName;
135 TString fConfigPathAndFileName;
137 Bool_t fIsOutputfile;
139 TString fOutputFileName;
140 TString fOutputPathAndFileName;
146 TObjArray *fDIGPlaneArray;
148 TObjArray *fDIGADCArray;
150 TObjArray *fDIGTransportArray;
152 TObjArray *fDIGBeamArray;
153 Int_t fNumberOfConfigurations;
156 TObjArray *fDIGResultArray;
159 ofstream fOutputFileStream;
171 TCanvas *MainCanvas1;
172 TCanvas *MainCanvas2;
173 TCanvas *MainCanvas3;
174 TCanvas *MainCanvas4;
175 TCanvas *MainCanvas5;