AliFMDBaseDigitizer Class Reference
[Simulation]

#include <FMD/AliFMDDigitizer>

Inheritance diagram for AliFMDBaseDigitizer:

Inheritance graph
[legend]
Collaboration diagram for AliFMDBaseDigitizer:

Collaboration graph
[legend]
List of all members.

Detailed Description

Base class for digitizers.

This class contains the procedures simulation ADC signal for the Forward Multiplicity detector : Hits->Digits and Hits->SDigits

Digits consists of

Summable digits consists of

As the Digits and SDigits have so much in common, the classes AliFMDDigitizer and AliFMDSDigitizer are implemented via a base class AliFMDBaseDigitizer.

                    +---------------------+
                    | AliFMDBaseDigitizer |
                    +---------------------+
                              ^
                              |
                   +----------+---------+
                   |                    |
         +-----------------+     +------------------+
         | AliFMDDigitizer |	| AliFMDSDigitizer |
         +-----------------+	+------------------+
    
These classes uses parameters fetched from the AliFMDParameters manager.

The shaping function of the VA1 is generally given by

\[ f(x) = A(1 - \exp(-Bx)) \]

where A is the total charge collected in the pre-amp., and B is a paramter that depends on the shaping time of the VA1 circut.

When simulating the shaping function of the VA1 pre-amp. chip, we have to take into account, that the shaping function depends on the previous value of read from the pre-amp.

That results in the following algorithm:

    last = 0;
    for (i=0; i < n_pre_amp_charge; i++) {
      charge = GetCharge(i);
      if (last < charge) 
        f(t) = (charge - last) * (1 - exp(-B * t)) + last
      else
        f(t) = (last - charge) * exp(-B * t) + charge)
      for (j=0; j < sample_rate; j++) 
        adc[j] = f(i / (# samples))
      last = charge
    }
Here, the first loop is over all charges collected by the VA1 chip, and the sample_rate is how many times the ALTRO ADC samples each of the 128 charges from the pre-amp.

The charge is the total charge $ Q$ collected by the VA1 pre-amplifier for a strip. $ Q$ is then given by

\[ Q = \frac{E}{e}\frac{S}{r} \]

where $ E$ is the total energy deposited in a silicon strip, $ R$ is the dynamic range of the VA1 pre-amp, $ e$ is the energy deposited by a single MIP, and $ S$ ALTRO channel size in each time step.

The energy deposited per MIP is given by $ e = M \rho w $ where $ M$ is the universal number $ 1.664 \mbox{keV}\mbox{cm}^{2}\mbox{g}^{-1}$, $ \rho$ is the density of silicon, and $ w$ is the depth of the silicon sensor.

The final ADC count is given by

\[ C' = C + P \]

where $ P$ is the (randomized) pedestal.

This class uses the class template AliFMDEdepMap to make an internal cache of the energy deposted of the hits. The class template is instantasized as

The first member of the values is the summed energy deposition in a given strip, while the second member of the values is the number of hits in a given strip. Using the second member, it's possible to do some checks on just how many times a strip got hit, and what kind of error we get in our reconstructed hits. Note, that this information is currently not written to the digits tree. I think a QA (Quality Assurance) digit tree is better suited for that task. However, the information is there to be used in the future.

Definition at line 140 of file AliFMDDigitizer.h.

Public Member Functions

 AliFMDBaseDigitizer ()
 AliFMDBaseDigitizer (AliRunDigitizer *manager)
 AliFMDBaseDigitizer (const Char_t *name, const Char_t *title)
virtual ~AliFMDBaseDigitizer ()
virtual Bool_t Init ()
void SetShapingTime (Float_t B=10)
Float_t GetShapingTime () const

Protected Member Functions

virtual void SumContributions (AliFMD *fmd)
virtual void DigitizeHits (AliFMD *fmd) const
virtual void ConvertToCount (Float_t edep, Float_t last, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, TArrayI &counts) const
virtual UShort_t MakePedestal (UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
virtual void AddNoise (TArrayI &) const
virtual void AddDigit (AliFMD *, UShort_t, Char_t, UShort_t, UShort_t, Float_t, UShort_t, Short_t, Short_t) const
 AliFMDBaseDigitizer (const AliFMDBaseDigitizer &o)
AliFMDBaseDigitizeroperator= (const AliFMDBaseDigitizer &)

Protected Attributes

AliRunLoader * fRunLoader
AliFMDEdepMap fEdep
Float_t fShapingTime


Constructor & Destructor Documentation

AliFMDBaseDigitizer::AliFMDBaseDigitizer  ) 
 

CTOR

AliFMDBaseDigitizer::AliFMDBaseDigitizer AliRunDigitizer *  manager  ) 
 

Normal CTOR

Parameters:
manager Manager of digitization

AliFMDBaseDigitizer::AliFMDBaseDigitizer const Char_t *  name,
const Char_t *  title
 

Normal ctor

Parameters:
name Name
title Title

virtual AliFMDBaseDigitizer::~AliFMDBaseDigitizer  )  [virtual]
 

DTOR

AliFMDBaseDigitizer::AliFMDBaseDigitizer const AliFMDBaseDigitizer o  )  [inline, protected]
 

Copy CTOR

Parameters:
o object to copy from

Definition at line 225 of file AliFMDDigitizer.h.


Member Function Documentation

virtual void AliFMDBaseDigitizer::AddDigit AliFMD ,
UShort_t  ,
Char_t  ,
UShort_t  ,
UShort_t  ,
Float_t  ,
UShort_t  ,
Short_t  ,
Short_t 
const [inline, protected, virtual]
 

Add a digit to output

Reimplemented in AliFMDDigitizer, and AliFMDSDigitizer.

Definition at line 209 of file AliFMDDigitizer.h.

virtual void AliFMDBaseDigitizer::AddNoise TArrayI &   )  const [inline, protected, virtual]
 

Add noise to each sample

Definition at line 207 of file AliFMDDigitizer.h.

virtual void AliFMDBaseDigitizer::ConvertToCount Float_t  edep,
Float_t  last,
UShort_t  detector,
Char_t  ring,
UShort_t  sector,
UShort_t  strip,
TArrayI &  counts
const [protected, virtual]
 

Convert the total energy deposited to a (set of) ADC count(s). See also the class description for more details.

Parameters:
edep Total energy deposited in detector
last Last charge collected in previous VA1 channnel
detector Detector #
ring Ring ID
sector Sector #
strip Strip #
counts Array holding the counts on return

virtual void AliFMDBaseDigitizer::DigitizeHits AliFMD fmd  )  const [protected, virtual]
 

For the stored energy contributions in the cache, convert the energy signal to ADC counts, and store the created digit in the digits array

Parameters:
fmd Pointer to detector

Float_t AliFMDBaseDigitizer::GetShapingTime  )  const [inline]
 

Returns:
Get the shaping time

Definition at line 170 of file AliFMDDigitizer.h.

virtual Bool_t AliFMDBaseDigitizer::Init  )  [virtual]
 

Initialize

virtual UShort_t AliFMDBaseDigitizer::MakePedestal UShort_t  detector,
Char_t  ring,
UShort_t  sector,
UShort_t  strip
const [protected, virtual]
 

Make a pedestal

Parameters:
detector Detector #
ring Ring ID
sector Sector #
strip Strip #
Returns:
Pedestal value

Reimplemented in AliFMDDigitizer.

AliFMDBaseDigitizer& AliFMDBaseDigitizer::operator= const AliFMDBaseDigitizer  )  [inline, protected]
 

Assignment operator

Returns:
Reference to this object

Definition at line 229 of file AliFMDDigitizer.h.

void AliFMDBaseDigitizer::SetShapingTime Float_t  B = 10  )  [inline]
 

The response shape of the VA1 shaping circuit is approximently given by

\[ f(x) = A(1 - \exp(-Bx)) \]

where $ A$ is the total charge collected by the pre-amp., and $ B$ is parameter that depends on the shaping time of the VA1 pre-amp. This member function sets the parameter $ B$

Parameters:
B 

Definition at line 168 of file AliFMDDigitizer.h.

virtual void AliFMDBaseDigitizer::SumContributions AliFMD fmd  )  [protected, virtual]
 

Sum energy deposited contributions from each hit in a cache

Parameters:
fmd Pointer to detector


Member Data Documentation

AliFMDEdepMap AliFMDBaseDigitizer::fEdep [protected]
 

Run loader.

Definition at line 220 of file AliFMDDigitizer.h.

AliRunLoader* AliFMDBaseDigitizer::fRunLoader [protected]
 

Definition at line 219 of file AliFMDDigitizer.h.

Float_t AliFMDBaseDigitizer::fShapingTime [protected]
 

Definition at line 221 of file AliFMDDigitizer.h.


The documentation for this class was generated from the following file:
Generated on Fri Mar 24 17:11:22 2006 for ALICE FMD Off-line by  doxygen 1.4.6