Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SimPmtTimeBucket Class Reference

#include <SimPmtTimeBucket.h>

List of all members.

Public Member Functions

 SimPmtTimeBucket (int nPixels, int nSpots)
 ~SimPmtTimeBucket ()
void AddDigiPE (const DigiPE *digipe, Int_t pixel, Int_t spot)
SimPixelTimeBucketGetPixelBucket (int ipixel)
Float_t GetTotalCharge () const
Double_t GetDynodeTime () const
void AddTotalCharge (Float_t q)
void SetDynodeTime (Double_t t)

Private Member Functions

 SimPmtTimeBucket ()

Private Attributes

Int_t fNPixels
TClonesArray fPixels
Float_t fTotalCharge
Double_t fDynodeTime


Constructor & Destructor Documentation

SimPmtTimeBucket::SimPmtTimeBucket int  nPixels,
int  nSpots
 

Definition at line 22 of file SimPmtTimeBucket.cxx.

References fPixels, and kPmtTime_Never.

00022                                                             :
00023   fNPixels(nPixels),
00024   fPixels(SimPixelTimeBucket::Class(),nPixels),
00025   fTotalCharge(0),
00026   fDynodeTime(kPmtTime_Never)
00027 {
00028   // Creator.
00029 
00030   // Fill the pixel array with new pixel objects
00031 
00032   for(int i=0;i<fNPixels;i++) {
00033     new(fPixels[i]) SimPixelTimeBucket(nSpots);
00034   }
00035   
00036 
00037 }

SimPmtTimeBucket::~SimPmtTimeBucket  ) 
 

Definition at line 39 of file SimPmtTimeBucket.cxx.

References fPixels.

00040 {
00041   // Delete all the objects from the pixel array
00042 
00043   fPixels.Delete();
00044 
00045 }

SimPmtTimeBucket::SimPmtTimeBucket  )  [private]
 

Definition at line 11 of file SimPmtTimeBucket.cxx.

References MSG.

00011                                    :
00012   fNPixels(0),
00013   fPixels(SimPixelTimeBucket::Class(),0),
00014   fTotalCharge(0),
00015   fDynodeTime(kPmtTime_Never)
00016 {  
00017   // Do not use. I/O only.
00018 
00019   MSG("DetSim",Msg::kError) << "SimPmtTimeBucket default constructor called.. this should never happen!" << endl;
00020 }


Member Function Documentation

void SimPmtTimeBucket::AddDigiPE const DigiPE digipe,
Int_t  pixel,
Int_t  spot
 

Definition at line 48 of file SimPmtTimeBucket.cxx.

References PlexPixelSpotId::AsString(), fPixels, DigiPE::GetPixelSpotId(), and MSG.

Referenced by SimPmt::AddDigiPE().

00049 {
00050   // Add the digipe to the pixel given 
00051   // (not to the pixel in the DigiPE, which has the wrong numbering
00052   // because, as I've said before, the database is STUPID).
00053   //
00054   
00055   //int pix = digipe->GetPixelSpotId().GetPixel();
00056 
00057   if((pix >0) && (pix <= fNPixels)) {
00058     ((SimPixelTimeBucket*)(fPixels[pix-1]))->AddDigiPE(digipe,spot);
00059   } else {
00060     MSG("DetSim",Msg::kWarning) << "AddDigiPE() Invalid pixel number " << pix << " psid:" << digipe->GetPixelSpotId().AsString() << endl;
00061   }
00062 }

void SimPmtTimeBucket::AddTotalCharge Float_t  q  )  [inline]
 

Definition at line 21 of file SimPmtTimeBucket.h.

References fTotalCharge.

Referenced by SimPmtUTM16::SimulateCharges(), SimPmtM64Full::SimulateCharges(), and SimPmt::SimulateCharges().

00021 { fTotalCharge+=q; };

Double_t SimPmtTimeBucket::GetDynodeTime void   )  const [inline]
 

Definition at line 20 of file SimPmtTimeBucket.h.

Referenced by SimPmt::GetDynodeTime().

00020 { return fDynodeTime; };

SimPixelTimeBucket & SimPmtTimeBucket::GetPixelBucket int  ipixel  )  [inline]
 

Definition at line 38 of file SimPmtTimeBucket.h.

References fNPixels, and fPixels.

Referenced by SimPmt::CopyPEtoPEXtalk(), SimPmt::CreateSignal(), SimPmt::GetCharge(), SimPmt::GetPe(), SimPmt::GetPeXtalk(), SimPmt::GetTime(), SimPmt::GetTotalCharge(), SimPmt::GetTotalHitPixels(), SimPmt::GetTotalPe(), SimVaTimedElectronics::ReadoutPmt(), SimQieElectronics::ReadoutPmt(), SimPmt::SimulateAfterpulsing(), SimPmtM64Oxford::SimulateAnodeEffects(), SimPmt::SimulateChargeCrosstalk(), SimPmtUTM16::SimulateCharges(), SimPmtM64Oxford::SimulateCharges(), SimPmtM64Full::SimulateCharges(), SimPmt::SimulateCharges(), SimPmt::SimulateDarkNoise(), SimPmtM64ToyNL::SimulateNonlinearity(), SimPmt::SimulateNonlinearity(), SimPmtM64::SimulateOpticalXtalk(), and SimPmt::SimulateOpticalXtalk().

00039 {
00040   // sanity checks.
00041   assert(ipixel>0);
00042   assert(ipixel<=fNPixels);
00043   // Insane casts, but safe since we know what we're doing.
00044   return *(SimPixelTimeBucket*)(fPixels[ipixel-1]);
00045 }

Float_t SimPmtTimeBucket::GetTotalCharge void   )  const [inline]
 

Definition at line 19 of file SimPmtTimeBucket.h.

Referenced by SimPmt::GetDynodeCharge().

00019 { return fTotalCharge; };

void SimPmtTimeBucket::SetDynodeTime Double_t  t  )  [inline]
 

Definition at line 22 of file SimPmtTimeBucket.h.

References fDynodeTime.

Referenced by SimPmt::AddDigiPE().

00022 { if(t<fDynodeTime) fDynodeTime = t;};


Member Data Documentation

Double_t SimPmtTimeBucket::fDynodeTime [private]
 

Definition at line 30 of file SimPmtTimeBucket.h.

Referenced by SetDynodeTime().

Int_t SimPmtTimeBucket::fNPixels [private]
 

Definition at line 25 of file SimPmtTimeBucket.h.

Referenced by GetPixelBucket().

TClonesArray SimPmtTimeBucket::fPixels [mutable, private]
 

Definition at line 27 of file SimPmtTimeBucket.h.

Referenced by AddDigiPE(), GetPixelBucket(), SimPmtTimeBucket(), and ~SimPmtTimeBucket().

Float_t SimPmtTimeBucket::fTotalCharge [private]
 

Definition at line 29 of file SimPmtTimeBucket.h.

Referenced by AddTotalCharge().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:10:19 2010 for loon by  doxygen 1.3.9.1