ROOT logo
AliRoot » FMD » AliFMDBaseDigitizer

class AliFMDBaseDigitizer: public AliDigitizer

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliFMDBaseDigitizer()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidAliDigitizer::Digitize(Option_t* option)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tAliDigitizer::GetRegionOfInterest() const
Float_tGetShapingTime() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Bool_tInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsStoreTrackRefs() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetShapingTime(Float_t B = 10)
voidSetStoreTrackRefs(Bool_t store = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidAddContribution(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, Bool_t isPrimary, Int_t nTrackno, Int_t* tracknos)
virtual voidAddDigit(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, UShort_t count1, Short_t count2, Short_t count3, Short_t count4, UShort_t ntot, UShort_t nprim, const TArrayI& refs) const
virtual voidAddNoise(TArrayI&) const
virtual voidConvertToCount(Float_t edep, Float_t last, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, TArrayI& counts) const
virtual voidAliDigitizer::Copy(TObject& dig) const
virtual voidDigitizeHits() const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tAliDigitizer::GetNInputStreams() const
virtual TTree*MakeOutputTree(AliLoader* loader)
virtual UShort_tMakePedestal(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
voidTObject::MakeZombie()
AliFMDBaseDigitizer&operator=(const AliFMDBaseDigitizer& o)
virtual voidStoreDigits(const AliLoader* loader)

Data Members

protected:
AliDigitizationInput*AliDigitizer::fDigInput! Pointer to the Digitizer input
AliFMDEdepMapfEdepCache of Energy from hits
AliFMD*fFMDDetector object
Int_tfIgnoredLabels! Number of labels not assigned
TStringTNamed::fNameobject identifier
AliRunLoader*fRunLoader! Run loader
Float_tfShapingTimeShaping profile parameter
Bool_tfStoreTrackRefsWether to store track references
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliDigitizer
AliFMDBaseDigitizer
AliFMDDigitizer
AliFMDHitDigitizer

Function documentation

~AliFMDBaseDigitizer()
 Destructor
operator=(const AliFMDBaseDigitizer& o)
 Assignment operator

 Return:
    Reference to this object

Init()
 Initialization.   Get a pointer to the parameter manager, and
 initialize it.
MakePedestal(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Make a pedestal.  The pedestal value is drawn from a Gaussian
 distribution.  The mean of the distribution is the measured
 pedestal, and the width is the measured noise.
AddContribution(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, Bool_t isPrimary, Int_t nTrackno, Int_t* tracknos)
 Add edep contribution from (detector,ring,sector,strip) to cache
DigitizeHits() const
 For the stored energy contributions in the cache (fEdep), convert
 the energy signal to ADC counts, and store the created digit in
 the digits array (AliFMD::fDigits)

ConvertToCount(Float_t edep, Float_t last, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, TArrayI& counts) const
 Convert the total energy deposited to a (set of) ADC count(s).

 This is done by

               Energy_Deposited      ALTRO_Channel_Size
    ADC = -------------------------- ------------------- + pedestal
          Energy_Deposition_Of_1_MIP VA1_ALICE_MIP_Range

               Energy_Deposited             fAltroChannelSize
        = --------------------------------- ----------------- + pedestal
          1.664 * Si_Thickness * Si_Density   fVA1MipRange


        = Energy_Deposited * ConversionFactor + pedestal

 However, this is modified by the response function of the
 VA1_ALICE pre-amp. chip in case we are doing oversampling of the
 VA1_ALICE output.

 In that case, we get N=fSampleRate values of the ADC, and the
 `EnergyDeposited' is a function of which sample where are
 calculating the ADC for

     ADC_i = f(EnergyDeposited, i/N, Last) * ConversionFactor + pedestal

 where Last is the Energy deposited in the previous strip.

 Here, f is the shaping function of the VA1_ALICE.   This is given
 by

                    |   (E - l) * (1 - exp(-B * t) + l   if E > l
       f(E, t, l) = <
                    |   (l - E) * exp(-B * t) + E        otherwise


                  = E + (l - E) * ext(-B * t)

AddDigit(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, UShort_t count1, Short_t count2, Short_t count3, Short_t count4, UShort_t ntot, UShort_t nprim, const TArrayI& refs) const
 Add a digit or summable digit
MakeOutputTree(AliLoader* loader)
 Create output tree using loader.   If the passed loader differs
 from the currently set loader in the FMD object, reset the FMD
 loader to be the passed loader.   This is for the cases wher the
 output is different from the output.
StoreDigits(const AliLoader* loader)
 Write the digits to disk
void SetShapingTime(Float_t B = 10)
 The response shape of the VA1 shaping circuit is approximently
      given by
      @f[
      f(x) = A(1 - \exp(-Bx))
      @f]
      where @f$ A@f$ is the total charge collected by the pre-amp.,
      and @f$ B@f$ is parameter that depends on the shaping time of
      the @b VA1 pre-amp.  This member function sets the parameter @f$
      B@f$
@param B 
{ fShapingTime = B; }
Float_t GetShapingTime() const
 @return Get the shaping time 
{ return fShapingTime; }
void SetStoreTrackRefs(Bool_t store = kTRUE)
{ fStoreTrackRefs = store; }
Bool_t IsStoreTrackRefs() const
{ return fStoreTrackRefs; }
void AddNoise(TArrayI& ) const
 Add noise to each sample 
{}