ROOT logo
AliRoot » TRD » AliTRDdigitizer

class AliTRDdigitizer: public AliDigitizer


Creates and handles digits from TRD hits

Authors: C. Blume (blume@ikf.uni-frankfurt.de)
C. Lippmann
B. Vulpescu

The following effects are included:
- Diffusion
- ExB effects
- Gas gain including fluctuations
- Pad-response (simple Gaussian approximation)
- Time-response
- Electronics noise
- Electronics gain
- Digitization
- Zero suppression


Function Members (Methods)

public:
AliTRDdigitizer()
AliTRDdigitizer(AliDigitizationInput* digInput)
AliTRDdigitizer(const AliTRDdigitizer& d)
AliTRDdigitizer(const Text_t* name, const Text_t* title)
AliTRDdigitizer(AliDigitizationInput* digInput, const Text_t* name, const Text_t* title)
virtual~AliTRDdigitizer()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddSDigitsManager(AliTRDdigitsManager* manager)
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
voidCompressOutputArrays(Int_t det)
Bool_tConvertHits(Int_t det, const Float_t *const hits, Int_t nhit, AliTRDarraySignal* signals)
Bool_tConvertSDigits()
Bool_tConvertSignals(Int_t det, AliTRDarraySignal* signals)
virtual voidCopy(TObject& d) const
Bool_tCopyDictionary(Int_t det)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidDeleteSDigitsManager()
Int_tDiffusion(Float_t vdrift, Double_t absdriftlength, Double_t exbvalue, Double_t& lRow, Double_t& lCol, Double_t& lTime)
virtual voidDigitize(Option_t* option = 0)
AliTRDdigitsManager*Digits() const
Bool_tDigits2SDigits(AliTRDdigitsManager *const manDig, AliTRDdigitsManager *const manSDig)
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
Bool_tGetCompress() 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
Bool_tGetSDigits() 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_tAliDigitizer::Init()
Bool_tInitDetector()
voidInitOutput(Int_t iEvent)
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_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
virtual Bool_tMakeBranch(TTree* tree) const
virtual Bool_tMakeDigits()
voidTObject::MayNotUse(const char* method) const
Bool_tMergeSDigits()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual Bool_tOpen(const Char_t* file, Int_t nEvent = 0)
virtual Bool_tOpen(AliRunLoader *const runLoader, Int_t nEvent = 0)
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)
AliTRDdigitizer&operator=(const AliTRDdigitizer& d)
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)
voidRunDigitalProcessing(Int_t det = 0)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
Bool_tSDigits2Digits()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCompress(Int_t c = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEvent(Int_t v = 0)
voidSetGeometry(AliTRDgeometry *const geo)
voidSetManager(AliTRDdigitsManager *const man)
voidSetMergeSignalOnly(Bool_t m = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSDigits(Int_t v = 1)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Bool_tSignal2ADC(Int_t det, AliTRDarraySignal* signals)
Bool_tSignal2SDigits(Int_t det, AliTRDarraySignal* signals)
virtual Int_tTNamed::Sizeof() const
Bool_tSortHits(Float_t** hits, Int_t* nhit)
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
virtual Bool_tWriteDigits() const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tAliDigitizer::GetNInputStreams() const
voidTObject::MakeZombie()

Data Members

protected:
Bool_tfCompressSwitch to keep only compressed data in memory
AliDigitizationInput*AliDigitizer::fDigInput! Pointer to the Digitizer input
AliTRDdigitsManager*fDigitsManager! Manager for the output digits
Int_tfEvent! Event number
AliTRDgeometry*fGeo! TRD geometry
Int_t*fMasks! Masks for the merging
AliTRDmcmSim*fMcmSim! MCM simulation for digital processing
Bool_tfMergeSignalOnlyMerge only detectors that contain a signal
TStringTNamed::fNameobject identifier
AliRunLoader*fRunLoader! Local pointer
Bool_tfSDigitsSwitch for the summable digits
AliTRDdigitsManager*fSDigitsManager! Manager for the summed input s-digits
TList*fSDigitsManagerList! List of managers of input s-digits
AliTRD*fTRD! TRD detector class
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliDigitizer
AliTRDdigitizer

Function documentation

AliTRDdigitizer()
 AliTRDdigitizer default constructor

AliTRDdigitizer(const Text_t* name, const Text_t* title)
 AliTRDdigitizer constructor

AliTRDdigitizer(AliDigitizationInput* digInput, const Text_t* name, const Text_t* title)
 AliTRDdigitizer constructor

AliTRDdigitizer(AliDigitizationInput* digInput)
 AliTRDdigitizer constructor

AliTRDdigitizer(const AliTRDdigitizer& d)
 AliTRDdigitizer copy constructor

~AliTRDdigitizer()
 AliTRDdigitizer destructor

AliTRDdigitizer & operator=(const AliTRDdigitizer& d)
 Assignment operator

void Copy(TObject& d) const
 Copy function

void Digitize(Option_t* option = 0)
 Executes the merging

Bool_t Open(const Char_t* file, Int_t nEvent = 0)
 Opens a ROOT-file with TRD-hits and reads in the hit-tree

 Connect the AliRoot file containing Geometry, Kine, and Hits

Bool_t Open(AliRunLoader *const runLoader, Int_t nEvent = 0)
 Opens a ROOT-file with TRD-hits and reads in the hit-tree

 Connect the AliRoot file containing Geometry, Kine, and Hits

Bool_t InitDetector()
 Sets the pointer to the TRD detector and the geometry

Bool_t MakeBranch(TTree* tree) const
 Create the branches for the digits array

void AddSDigitsManager(AliTRDdigitsManager* manager)
 Add a digits manager for s-digits to the input list.

void DeleteSDigitsManager()
 Removes digits manager from the input list.

Bool_t MakeDigits()
 Creates digits.

Bool_t SortHits(Float_t** hits, Int_t* nhit)
 Read all the hits and sorts them according to detector number
 in the output array <hits>.

Bool_t ConvertHits(Int_t det, const Float_t *const hits, Int_t nhit, AliTRDarraySignal* signals)
 Converts the detectorwise sorted hits to detector signals

Bool_t ConvertSignals(Int_t det, AliTRDarraySignal* signals)
 Convert signals to digits

Bool_t Signal2ADC(Int_t det, AliTRDarraySignal* signals)
 Converts the sampled electron signals to ADC values for a given chamber

Bool_t Signal2SDigits(Int_t det, AliTRDarraySignal* signals)
 Converts the sampled electron signals to s-digits

Bool_t Digits2SDigits(AliTRDdigitsManager *const manDig, AliTRDdigitsManager *const manSDig)
 Converts digits into s-digits. Needed for embedding into real data.

Bool_t SDigits2Digits()
 Merges the input s-digits and converts them to normal digits

Bool_t MergeSDigits()
 Merges the input s-digits:
   - The amplitude of the different inputs are summed up.
   - Of the track IDs from the input dictionaries only one is
     kept for each input. This works for maximal 3 different merged inputs.

Bool_t ConvertSDigits()
 Converts s-digits to normal digits

Bool_t CopyDictionary(Int_t det)
 Copies the dictionary information from the s-digits arrays
 to the output arrays

void CompressOutputArrays(Int_t det)
 Compress the output arrays

Bool_t WriteDigits() const
 Writes out the TRD-digits and the dictionaries

void InitOutput(Int_t iEvent)
 Initializes the output branches

Int_t Diffusion(Float_t vdrift, Double_t absdriftlength, Double_t exbvalue, Double_t& lRow, Double_t& lCol, Double_t& lTime)
 Applies the diffusion smearing to the position of a single electron.
 Depends on absolute drift length.

void RunDigitalProcessing(Int_t det = 0)
 Run the digital processing in the TRAP

void SetCompress(Int_t c = 1)
{ fCompress = c; }
void SetSDigits(Int_t v = 1)
{ fSDigits = v; }
void SetEvent(Int_t v = 0)
{ fEvent = v; }
void SetManager(AliTRDdigitsManager *const man)
{ fDigitsManager = man; }
void SetGeometry(AliTRDgeometry *const geo)
{ fGeo = geo; }
void SetMergeSignalOnly(Bool_t m = kTRUE)
AliTRDdigitsManager * Digits() const
{ return fDigitsManager; }
Bool_t GetCompress() const
{ return fCompress; }
Bool_t GetSDigits() const
{ return fSDigits; }