1 #ifndef MAPS_DIGPARTICLE_H
2 #define MAPS_DIGPARTICLE_H
19 #include "TObjArray.h"
22 #include "TClonesArray.h"
24 extern Int_t GlobalSeed ;
40 DIGParticle(Float_t EntryX, Float_t EntryY, Float_t EntryZ,
41 Float_t ExitX, Float_t ExitY, Float_t ExitZ, Float_t Energy_deposited);
44 void Clear(
const Option_t * =
"");
45 Float_t GetEntryX(){
return fEntryX;}
46 Float_t GetEntryY(){
return fEntryY;}
47 Float_t GetEntryZ(){
return fEntryZ;}
48 Float_t GetExitX(){
return fExitX;}
49 Float_t GetExitY(){
return fExitY;}
50 Float_t GetExitZ(){
return fExitZ;}
51 Float_t GetEnergy_deposited(){
return fEnergy_deposited;}
52 Float_t GetTotalAnalogCharge();
53 Int_t GetTotalDigitalCharge();
55 Int_t GetNSegment(){
return fNSegment;}
56 std::vector<Float_t> GetSegmentX(){
return fSegmentX;}
57 std::vector<Float_t> GetSegmentY(){
return fSegmentY;}
58 std::vector<Float_t> GetSegmentZ(){
return fSegmentZ;}
59 std::vector<Float_t> GetSegmentCharge(){
return fSegmentCharge;}
60 Int_t GetNpixels(){
return fNpixels;}
61 std::vector<Int_t> GetPixelMap(){
return fPixelMap;}
62 std::vector<Float_t> GetAnalogCharge(){
return fAnalogChargeMap;}
63 std::vector<Int_t> GetDigitalCharge(){
return fDigitalChargeMap;}
65 void SetNSegment(Int_t NSegment){fNSegment=NSegment;}
66 void SetEntryX(Float_t EntryX){fEntryX=EntryX;}
67 void SetEntryY(Float_t EntryY){fEntryY=EntryY;}
68 void SetEntryZ(Float_t EntryZ){fEntryY=EntryZ;}
69 void SetExitX(Float_t ExitX){fExitX=ExitX;}
70 void SetExitY(Float_t ExitY){fExitY=ExitY;}
71 void SetExitZ(Float_t ExitZ){fExitZ=ExitZ;}
72 void SetEnergy_deposited(Float_t Energy_deposited){fEnergy_deposited=Energy_deposited;}
73 void SetNpixels(Int_t Npixels){fNpixels= Npixels;}
75 void ComputeChargeDeposition(Float_t StartingSegmentSize, Float_t MaximumSegmentSize, Float_t MaximumChargePerSegment);
79 void AddPixel(Float_t AnalogCharge, Int_t PixelNumber);
80 void UpdatePixel(Float_t AnalogCharge, Int_t PixelNumber);
81 void AddRandomNoise(
DIGPlane *myDIGPlane);
82 void AnalogToDigitalconversion(
DIGADC *myDIGADC,
DIGPlane *myDIGPlane);
83 Int_t GetPixelNumber(
DIGPlane *myDIGPlane, Float_t Xpos, Float_t Ypos);
84 void GetXYPixelNumber(Int_t &Xpix, Int_t &Ypix,
DIGPlane *myDIGPlane, Int_t PixelNumber);
85 void GetXYPixelCenter(Float_t &Xpix, Float_t &Ypix,
DIGPlane *myDIGPlane, Int_t PixelNumber);
87 Double_t GaussianLaw(Double_t mean, Double_t sigma);
98 Float_t fEnergy_deposited;
105 vector<Float_t> fSegmentX;
106 vector<Float_t> fSegmentY;
107 vector<Float_t> fSegmentZ;
108 vector<Float_t> fSegmentCharge;
111 vector< Int_t > fPixelMap;
112 vector< Float_t > fAnalogChargeMap;
113 vector< Int_t > fDigitalChargeMap;