SimQiePerfectElectronics Class Reference

#include <SimQiePerfectElectronics.h>

Inheritance diagram for SimQiePerfectElectronics:
SimQieElectronics SimElectronics

List of all members.

Public Member Functions

 SimQiePerfectElectronics (VldContext context, TRandom *random=NULL)
virtual ~SimQiePerfectElectronics (void)
virtual void Print (Option_t *option="") const
virtual int GenSimulatedADC (RawChannelId rcid, PlexPixelSpotId psid, double inCharge, int tdc)

Protected Member Functions

 ClassDef (SimQiePerfectElectronics, 1)

Detailed Description

Id
SimQiePerfectElectronics.h,v 1.3 2006/03/08 23:22:57 tagg Exp

SimQIEPerfectElectronics

A perfect readout for the ND front end. Zero pedestal width, fine-grained ADC, no range switching

This model is good for figuring out what is an QIE effect and what isn't.

n.tagg1@physics.ox.ac.uk

Definition at line 23 of file SimQiePerfectElectronics.h.


Constructor & Destructor Documentation

SimQiePerfectElectronics::SimQiePerfectElectronics ( VldContext  context,
TRandom *  random = NULL 
)

Definition at line 16 of file SimQiePerfectElectronics.cxx.

00017   : SimQieElectronics( context, random )
00018 {
00019 }

virtual SimQiePerfectElectronics::~SimQiePerfectElectronics ( void   )  [inline, virtual]

Definition at line 28 of file SimQiePerfectElectronics.h.

00028 {};


Member Function Documentation

SimQiePerfectElectronics::ClassDef ( SimQiePerfectElectronics  ,
 
) [protected]

Reimplemented from SimQieElectronics.

int SimQiePerfectElectronics::GenSimulatedADC ( RawChannelId  rcid,
PlexPixelSpotId  psid,
double  inCharge,
int  tdc 
) [virtual]

Reimplemented from SimQieElectronics.

Definition at line 31 of file SimQiePerfectElectronics.cxx.

References Calibrator::DecalLinearity(), SimElectronics::fContext, SimQieElectronics::fDoLookupNonlinearity, SimQieElectronics::fQieDacCharge, SimQieElectronics::fQiePedestalDac, PlexHandle::GetStripEndId(), Calibrator::Instance(), and PlexStripEndId::IsValid().

00035 {
00036   // Convert to DAC charge units. These are the units of charge
00037   // used by the sharge injection system.
00038   double dacs = inCharge / fQieDacCharge;
00039 
00040   // Do nonlinearity curve.
00041   if (fDoLookupNonlinearity) {
00042     PlexHandle plex(fContext);
00043     PlexStripEndId seid = plex.GetStripEndId(psid);
00044     if(seid.IsValid())
00045       dacs = Calibrator::Instance().DecalLinearity(dacs, seid);
00046   }
00047 
00048 
00049   // Convert to integer.
00050   int idacs = TMath::Nint(dacs);
00051 
00052   // Add the pedestal
00053   idacs += fQiePedestalDac;
00054 
00055   return idacs;
00056 }

void SimQiePerfectElectronics::Print ( Option_t *  option = ""  )  const [virtual]

Reimplemented from SimQieElectronics.

Definition at line 23 of file SimQiePerfectElectronics.cxx.

References Munits::fC, SimQieElectronics::fQieDacCharge, SimQieElectronics::fQiePedestalDac, and SimQieElectronics::fQieSparsifyThresh.

00024 {
00025   printf("SimQiePerfectElec: qieDacCharge          %.2f fC\n",fQieDacCharge/Munits::fC);
00026   printf("                   qiePedestalDac        %d DAC\n",fQiePedestalDac);
00027   printf("                   qieSparsifyThresh     %d DAC\n",fQieSparsifyThresh);
00028 }


The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1