#include <SimPixelTimeBucket.h>
Public Types | |
| typedef std::multimap< Double_t, const DigiPE * > | PeList_t |
Public Member Functions | |
| SimPixelTimeBucket () | |
| SimPixelTimeBucket (Int_t nSpots) | |
| ~SimPixelTimeBucket () | |
| Int_t | GetNumSpots () const |
| PeList_t & | GetDigiPE (Int_t ispot=1) |
| PeList_t & | GetDigiPEXtalk (Int_t ispot=1) |
| Float_t | GetPE (Int_t ispot=1) const |
| Float_t | GetPEXtalk (Int_t ispot=1) const |
| Float_t | GetCharge () const |
| Float_t | GetTime () const |
| DigiSignal * | CreateSignal () |
| void | SetPE (Int_t spot, Float_t pe) |
| void | SetPEXtalk (Int_t spot, Float_t pe) |
| void | SetCharge (Float_t charge) |
| void | SetTruthBit (Int_t bit) |
| void | SetTruth (DigiSignal::DigiPmtTruth_t in) |
| void | AddPE (Int_t spot, Float_t pe) |
| void | AddPEXtalk (Int_t spot, Float_t pe) |
| void | AddCharge (Float_t charge) |
| void | SetTime (Float_t time) |
| Float_t | GetTotalPE () |
| Float_t | GetTotalPEXtalk () |
| void | AddDigiPE (const DigiPE *digipe, Int_t spot) |
Static Public Member Functions | |
| int | GetGlobalPixelBuckets () |
Private Attributes | |
| Int_t | fNSpots |
| std::vector< PeList_t > | fDigiPE |
| std::vector< PeList_t > | fDigiPEXtalk |
| std::vector< Float_t > | fPE |
| std::vector< Float_t > | fPEXtalk |
| DigiSignal::DigiPmtTruth_t | fTruth |
| Float_t | fCharge |
| Float_t | fTime |
Static Private Attributes | |
| Int_t | fsTotalNumber = 0 |
|
|
Definition at line 18 of file SimPixelTimeBucket.h. Referenced by GetDigiPE(), and GetDigiPEXtalk(). |
|
|
Definition at line 28 of file SimPixelTimeBucket.cxx. 00029 {
00030 // Do not use! Only for I/O.
00031 fsTotalNumber++;
00032 }
|
|
|
Definition at line 35 of file SimPixelTimeBucket.cxx. References fPE, fPEXtalk, and fsTotalNumber. 00035 : 00036 fNSpots(nSpots), 00037 fDigiPE(fNSpots+1), 00038 fDigiPEXtalk(fNSpots+1), 00039 fPE(fNSpots+1), 00040 fPEXtalk(fNSpots+1), 00041 fTruth(DigiSignal::kUnknown), 00042 fCharge(0), 00043 fTime(1e9) 00044 { 00045 fsTotalNumber++; 00046 00047 // Fill with zeros. 00048 for(int i=0;i<=fNSpots;i++) { 00049 fPE[i]=0; 00050 fPEXtalk[i]=0; 00051 } 00052 }
|
|
|
Definition at line 54 of file SimPixelTimeBucket.cxx. References fsTotalNumber. 00055 {
00056 fsTotalNumber--;
00057 }
|
|
|
Definition at line 67 of file SimPixelTimeBucket.cxx. References fCharge. Referenced by SimPmtM64Oxford::SimulateAnodeEffects(), SimPmt::SimulateChargeCrosstalk(), SimPmtUTM16::SimulateCharges(), SimPmtM64Oxford::SimulateCharges(), SimPmtM64Full::SimulateCharges(), SimPmt::SimulateCharges(), and SimPmt::SimulateDarkNoise(). 00068 {
00069 fCharge += charge;
00070 //if(fCharge<-100*Munits::fC) {
00071 // cout << "Charge got added to " << fCharge/Munits::fC << " with increment " << charge/Munits::fC << endl;
00072 //}
00073 }
|
|
||||||||||||
|
Definition at line 97 of file SimPixelTimeBucket.cxx. References fDigiPE, fPE, fTime, fTruth, DigiPE::GetSource(), DigiPE::GetTime(), and MSG. 00098 {
00099 //
00100 // Add DigiPE to the bucket. Use the provided spot number instead of the
00101 // PlexPixelSpotId in the digipe, because the PlexPixelSpotID is simply wrong,
00102 // if accurately wrong.
00103 //
00104
00105 //Int_t spot = digipe->GetPixelSpotId().GetSpot();
00106 if( (spot > fNSpots) || (spot < 1) ) {
00107 // Problem!
00108 MSG("DetSim",Msg::kWarning) << "AddDigiPE() Invalid Pixel Spot number!" << endl;
00109 return;
00110 }
00111 if(digipe->GetTime() < fTime) fTime = digipe->GetTime();
00112
00113 // This adds the hit info and the pe pointer.
00114 fPE[spot] += 1; // True number of PE.. don't touch this again.
00115
00116 fDigiPE[spot].insert(std::pair<Double_t,const DigiPE*>(digipe->GetTime(), digipe));
00117
00118 // This is a real hit.
00119
00120 fTruth |= digipe->GetSource();
00121 }
|
|
||||||||||||
|
Definition at line 38 of file SimPixelTimeBucket.h. References fPE. 00038 { fPE[spot] += pe; };
|
|
||||||||||||
|
Definition at line 39 of file SimPixelTimeBucket.h. References fPEXtalk. Referenced by SimPmt::CopyPEtoPEXtalk(), and SimPmt::MoveOpticalPE(). 00039 { fPEXtalk[spot] += pe; };
|
|
|
Definition at line 124 of file SimPixelTimeBucket.cxx. References DigiSignal::AddDigiPE(), fCharge, fDigiPEXtalk, fTruth, s(), DigiSignal::SetCharge(), and DigiSignal::SetTruth(). Referenced by SimPmt::CreateSignal(), SimVaTimedElectronics::ReadoutPmt(), and SimQieElectronics::ReadoutPmt(). 00125 {
00126 // Creates a new digiSignal with all the attendant data.
00127 // Caller becomes responsible for ownership.
00128 //
00129 DigiSignal* s = new DigiSignal();
00130 // Set up the charge
00131 s->SetCharge(fCharge);
00132 s->SetTruth(fTruth);
00133
00134 // Add the PEs.
00135 for(UInt_t i = 0; i<fDigiPEXtalk.size(); i++) {
00136 PeList_t::iterator it = fDigiPEXtalk[i].begin();
00137 for( ; it!= fDigiPEXtalk[i].end() ; it++) {
00138 s->AddDigiPE(it->second);
00139 }
00140 }
00141
00142 return s;
00143 }
|
|
|
Definition at line 27 of file SimPixelTimeBucket.h. Referenced by SimPmt::GetCharge(), SimPmt::GetTotalCharge(), SimVaTimedElectronics::ReadoutPmt(), SimQieElectronics::ReadoutPmt(), SimPmtM64Oxford::SimulateAnodeEffects(), SimPmt::SimulateChargeCrosstalk(), SimPmt::SimulateCharges(), SimPmtM64ToyNL::SimulateNonlinearity(), and SimPmt::SimulateNonlinearity(). 00027 { return fCharge; };
|
|
|
Definition at line 23 of file SimPixelTimeBucket.h. References fDigiPE, and PeList_t. Referenced by SimPmt::CopyPEtoPEXtalk(), SimPmt::MoveOpticalPE(), and SimPmt::SimulateAfterpulsing(). 00023 { return fDigiPE[ispot];};
|
|
|
Definition at line 24 of file SimPixelTimeBucket.h. References fDigiPEXtalk, and PeList_t. Referenced by SimPmt::CopyPEtoPEXtalk(), SimPmt::MoveOpticalPE(), SimPmtM64Oxford::SimulateAnodeEffects(), and SimPmtM64Full::SimulateCharges(). 00024 { return fDigiPEXtalk[ispot];};
|
|
|
Definition at line 12 of file SimPixelTimeBucket.h. Referenced by SimDetector::Reset(). 00012 { return fsTotalNumber; };
|
|
|
Definition at line 22 of file SimPixelTimeBucket.h. 00022 { return fNSpots; };
|
|
|
Definition at line 25 of file SimPixelTimeBucket.h. References fPE. Referenced by SimPmt::GetPe(), SimPmt::MoveOpticalPE(), SimPmt::SimulateAfterpulsing(), SimPmtM64::SimulateOpticalXtalk(), and SimPmt::SimulateOpticalXtalk(). 00025 { return fPE[ispot]; };
|
|
|
Definition at line 26 of file SimPixelTimeBucket.h. References fPEXtalk. Referenced by SimPmt::GetPeXtalk(), SimVaTimedElectronics::ReadoutPmt(), SimPmtUTM16::SimulateCharges(), SimPmtM64Full::SimulateCharges(), and SimPmt::SimulateCharges(). 00026 { return fPEXtalk[ispot]; };
|
|
|
Definition at line 28 of file SimPixelTimeBucket.h. Referenced by SimPmt::GetTime(). 00028 { return fTime; };
|
|
|
Definition at line 77 of file SimPixelTimeBucket.cxx. References fPE. Referenced by SimPmt::GetPe(), SimPmt::GetTotalHitPixels(), and SimPmt::GetTotalPe(). 00078 {
00079 float tot = 0;
00080 for(int i=1;i<=fNSpots;i++) {
00081 tot += fPE[i];
00082 }
00083 return tot;
00084 }
|
|
|
Definition at line 86 of file SimPixelTimeBucket.cxx. References fPEXtalk. Referenced by SimPmt::GetPeXtalk(), SimPmt::GetTotalHitPixels(), SimPmtM64Oxford::SimulateAnodeEffects(), SimPmtM64Oxford::SimulateCharges(), and SimPmtM64Full::SimulateCharges(). 00087 {
00088 float tot = 0;
00089 for(int i=1;i<=fNSpots;i++) {
00090 tot += fPEXtalk[i];
00091 }
00092 return tot;
00093 }
|
|
|
Definition at line 59 of file SimPixelTimeBucket.cxx. References fCharge. Referenced by SimPmtUTM16::SimulateCharges(), SimPmt::SimulateCharges(), SimPmtM64ToyNL::SimulateNonlinearity(), and SimPmt::SimulateNonlinearity(). 00060 {
00061 fCharge = charge;
00062 //if(charge<-100*Munits::fC) {
00063 // cout << "Charge got set to " << fCharge/Munits::fC << endl;
00064 // }
00065 }
|
|
||||||||||||
|
Definition at line 32 of file SimPixelTimeBucket.h. References fPE. 00032 { fPE[spot] = pe; };
|
|
||||||||||||
|
Definition at line 33 of file SimPixelTimeBucket.h. References fPEXtalk. 00033 { fPEXtalk[spot] = pe; };
|
|
|
Definition at line 42 of file SimPixelTimeBucket.h. References fTime. 00042 { fTime = time; };
|
|
|
Definition at line 36 of file SimPixelTimeBucket.h. References fTruth. 00036 { fTruth = in; };
|
|
|
Definition at line 35 of file SimPixelTimeBucket.h. References fTruth. Referenced by SimPmtM64Oxford::SimulateAnodeEffects(), SimPmt::SimulateChargeCrosstalk(), SimPmtM64Full::SimulateCharges(), SimPmtM64::SimulateOpticalXtalk(), and SimPmt::SimulateOpticalXtalk(). 00035 { fTruth |= bit; };
|
|
|
Definition at line 63 of file SimPixelTimeBucket.h. Referenced by AddCharge(), CreateSignal(), SetCharge(), and SimPmtM64Oxford::SimulateAnodeEffects(). |
|
|
Definition at line 55 of file SimPixelTimeBucket.h. Referenced by AddDigiPE(), and GetDigiPE(). |
|
|
Definition at line 56 of file SimPixelTimeBucket.h. Referenced by CreateSignal(), and GetDigiPEXtalk(). |
|
|
Definition at line 52 of file SimPixelTimeBucket.h. |
|
|
Definition at line 59 of file SimPixelTimeBucket.h. Referenced by AddDigiPE(), AddPE(), GetPE(), GetTotalPE(), SetPE(), and SimPixelTimeBucket(). |
|
|
Definition at line 60 of file SimPixelTimeBucket.h. Referenced by AddPEXtalk(), GetPEXtalk(), GetTotalPEXtalk(), SetPEXtalk(), and SimPixelTimeBucket(). |
|
|
Definition at line 26 of file SimPixelTimeBucket.cxx. Referenced by SimPixelTimeBucket(), and ~SimPixelTimeBucket(). |
|
|
Definition at line 64 of file SimPixelTimeBucket.h. Referenced by AddDigiPE(), SetTime(), and SimPmtM64Oxford::SimulateAnodeEffects(). |
|
|
Definition at line 62 of file SimPixelTimeBucket.h. Referenced by AddDigiPE(), CreateSignal(), SetTruth(), and SetTruthBit(). |
1.3.9.1