ROOT logo
AliRoot » ITS » AliITSsimulationSDD

class AliITSsimulationSDD: public AliITSsimulation

Version: 0
Written by Piergiorgio Cerello
November 23 1999

AliITSsimulationSDD is the simulation of SDDs.

Function Members (Methods)

public:
AliITSsimulationSDD()
AliITSsimulationSDD(AliITSDetTypeSim* dettyp)
virtual~AliITSsimulationSDD()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddDigit(Int_t i, Int_t j, Int_t signalc, Int_t signale)
virtual Bool_tAddSDigitsToModule(TClonesArray* pItemArray, Int_t mask)
virtual voidTObject::AppendPad(Option_t* option = "")
voidApplyCrosstalk(Int_t mod)
virtual voidTObject::Browse(TBrowser* b)
voidChargeToSignal(Int_t mod, Bool_t bAddNoise = kFALSE, Bool_t bAddGain = kTRUE)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidAliITSsimulation::ClearMap()
voidClearMaps()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCompress2D()
virtual Int_tConvert10to8(Int_t signal) const
virtual Int_tConvert8to10(Int_t signal) const
virtual voidTObject::Copy(TObject& object) const
virtual voidAliITSsimulation::CreateFastRecPoints(AliITSmodule*, Int_t, TRandom*, TClonesArray*)
voidCreateHistograms(Int_t scale)
Bool_tCrosstalkFlag() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidDigitiseModule(AliITSmodule* mod, Int_t md, Int_t ev)
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)
voidFastFourierTransform(Double_t* real, Double_t* imag, Int_t direction)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFillHistograms()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFinishDigits()
virtual voidFinishSDigitiseModule()
TH1F*GetAnode(Int_t wing, Int_t anode)
virtual AliITSCalibration*AliITSsimulation::GetCalibrationModel(Int_t mod = 0)
Bool_tAliITSsimulation::GetDebug(Int_t level = 1) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tAliITSsimulation::GetEventNumber() const
TObjArray*GetHistArray()
virtual const char*TObject::GetIconName() const
virtual AliITSpList*AliITSsimulation::GetMap()
virtual Int_tAliITSsimulation::GetModuleNumber() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual AliITSsegmentation*GetSegmentationModel(Int_t)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidHitsToAnalogDigits(AliITSmodule* mod)
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 voidInit()
virtual voidInitSimulationModule(Int_t module, Int_t event)
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_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::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 = "")
Bool_tPerpendTracksFlag() const
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPrintStatus() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetHistograms()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
static Int_tScaleFourier(const AliITSsegmentationSDD* seg)
virtual voidSDigitiseModule(AliITSmodule* mod, Int_t md, Int_t ev)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAliITSsimulation::SetCalibrationModel(Int_t mod, AliITSCalibration* res)
virtual voidSetCrosstalkFlag(Bool_t flag = kFALSE)
voidAliITSsimulation::SetDebug(Int_t level = 5)
voidAliITSsimulation::SetDetType(AliITSDetTypeSim* dettyp)
voidSetDoFFT(Int_t doFFT = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliITSsimulation::SetEventNumber(Int_t evnt)
virtual voidAliITSsimulation::SetMap(AliITSpList* p)
virtual voidAliITSsimulation::SetModuleNumber(Int_t mod)
voidAliITSsimulation::SetNoDebug()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPerpendTracksFlag(Bool_t flag = kFALSE)
virtual voidSetSegmentationModel(Int_t, AliITSsegmentation* seg)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStoreAllDigits()
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
voidWriteSDigits()
voidWriteToFile(TFile* fp)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
Bool_t*fAnodeFire! [#of anodes] Flag if there is a signal
Bool_tfCrosstalkFlagFlag used to apply the crosstalk effect
Int_tfDoFFTFlag used to switch off electronics when 0
AliITSetfSDD*fElectronics! local pointer to electronics simulation
Bool_tfFlagFlag used to simulate perpendicular tracks
TObjArray*fHisjust in case for histogramming
AliITSMapA2*fHitMap2! local pointer to map of signals
AliITSMapA2*fHitNoiMap2! local pointer to map of signals
AliITSMapA2*fHitSigMap2! local pointer to map of signals
AliITS*fITS! local pointer to ITS
Double_t*fInZI! [fScaleSize*fMaxNofSamples]
Double_t*fInZR! [fScaleSize*fMaxNofSamples] input of the
Int_tfMaxNofSamplesNumber of time samples
Int_tfNofMapsNumber of anodes used ( 1-2*nanodes per wing )
Double_t*fOutZI! [fScaleSize*fMaxNofSamples]
Double_t*fOutZR! [fScaleSize*fMaxNofSamples]
Int_tfScaleSizescale size factor for the samples in FFT

Class Charts

Inheritance Chart:
TObject
AliITSsimulation
AliITSsimulationSDD

Function documentation

AliITSsimulationSDD()
 Default constructor
AliITSsimulationSDD(AliITSDetTypeSim* dettyp)
 Default Constructor
void Init()
 Standard Constructor
~AliITSsimulationSDD()
 destructor
void InitSimulationModule(Int_t module, Int_t event)
 create maps to build the lists of tracks for each summable digit
void ClearMaps()
 clear maps
void FastFourierTransform(Double_t* real, Double_t* imag, Int_t direction)
 Do a Fast Fourier Transform
void SDigitiseModule(AliITSmodule* mod, Int_t md, Int_t ev)
 digitize module using the "slow" detector simulator creating
 summable digits.
Bool_t AddSDigitsToModule(TClonesArray* pItemArray, Int_t mask)
 Add Summable digits to module maps.
void FinishSDigitiseModule()
 digitize module using the "slow" detector simulator from
 the sum of summable digits.
void DigitiseModule(AliITSmodule* mod, Int_t md, Int_t ev)
 create maps to build the lists of tracks for each digit
void FinishDigits()
 introduce the electronics effects and do zero-suppression if required
void HitsToAnalogDigits(AliITSmodule* mod)
 create maps to build the lists of tracks for each digit
void AddDigit(Int_t i, Int_t j, Int_t signalc, Int_t signale)
 Adds a Digit.
void ChargeToSignal(Int_t mod, Bool_t bAddNoise = kFALSE, Bool_t bAddGain = kTRUE)
 add baseline, noise, gain, electronics and ADC saturation effects
 apply dead channels
void ApplyCrosstalk(Int_t mod)
 function add the crosstalk effect to signal
 temporal function, should be checked...!!!
Int_t Convert10to8(Int_t signal) const
 To the 10 to 8 bit lossive compression.
 code from Davide C. and Albert W.
Int_t Convert8to10(Int_t signal) const
 Decompression from 8 to 10 bit
void Compress2D()
 2D zero-suppression algorithm as described in ALICE-INT-1999-28 V10
void StoreAllDigits()
 store digits for non-zero-suppressed data
void CreateHistograms(Int_t scale)
 Creates histograms of maps for debugging
void FillHistograms()
 fill 1D histograms from map
void ResetHistograms()
 Reset histograms for this detector
TH1F * GetAnode(Int_t wing, Int_t anode)
 Fills a histogram from a give anode.
void WriteToFile(TFile* fp)
 Writes the histograms to a file
void WriteSDigits()
 Fills the Summable digits Tree
void PrintStatus() const
 Print SDD simulation Parameters
AliITSsimulationSDD()
Standard Constructor
AliITSsegmentation* GetSegmentationModel(Int_t )
 Get a pointer to the segmentation object
{return fDetType->GetSegmentationModel(1);}
void SetSegmentationModel(Int_t , AliITSsegmentation* seg)
 set pointer to segmentation object
{fDetType->SetSegmentationModel(1,seg);}
Int_t ScaleFourier(const AliITSsegmentationSDD* seg)
 set perpendicular tracks flag
void SetPerpendTracksFlag(Bool_t flag = kFALSE)
 returns perpendicular track flag.
{fFlag=flag;}
Bool_t PerpendTracksFlag() const
 set crosstalk flag
{return fFlag;}
void SetCrosstalkFlag(Bool_t flag = kFALSE)
 return crosstalk flag
Bool_t CrosstalkFlag() const
{return fCrosstalkFlag;}
TObjArray* GetHistArray()
 Get the pointer to the array of histograms
{return fHis;}
void SetDoFFT(Int_t doFFT = 1)
 sets DoFFT value.
{fDoFFT=doFFT;}
AliITSsimulationSDD& operator=(const AliITSsimulationSDD& source)