X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSsimulationSDD.h;h=f794499c6960e6fededcd16444a15c51c30eca83;hb=f45f6658b120097d1f9b62652d4dcc74c851d7e6;hp=c751c285551c0779f152f0b882fae033e42d7734;hpb=aacedc3e54091806a9c6d356fd7f582df59fd73f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSsimulationSDD.h b/ITS/AliITSsimulationSDD.h index c751c285551..f794499c696 100644 --- a/ITS/AliITSsimulationSDD.h +++ b/ITS/AliITSsimulationSDD.h @@ -3,16 +3,18 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ + /* $Id$ */ -#include -#include +//////////////////////////////////////////////////////////// +// Simulation class for SDD // +//////////////////////////////////////////////////////////// +#include #include "AliITSsimulation.h" class TH1F; class TFile; -class TVector; class TArrayI; class TArrayF; class AliITS; @@ -23,30 +25,28 @@ class AliITSMapA2; class AliITSetfSDD; class AliITSsegmentationSDD; class AliITSInStream; -class AliITSresponse; -class AliITSresponseSDD; +class AliITSCalibration; +class AliITSCalibrationSDD; class AliITSsimulationSDD : public AliITSsimulation { public: AliITSsimulationSDD(); // default constructor //Standard Constructor - AliITSsimulationSDD(AliITSsegmentation *seg, AliITSresponse *res); - // Copy opporator + AliITSsimulationSDD(AliITSDetTypeSim* dettyp); + // Copy operator AliITSsimulationSDD(AliITSsimulationSDD &source); virtual ~AliITSsimulationSDD(); // Destructor - // = opporator - AliITSsimulationSDD& operator=(AliITSsimulationSDD &source); + // = operator + AliITSsimulationSDD& operator=(const AliITSsimulationSDD &source); + virtual AliITSsimulation& operator=(const AliITSsimulation &source); // Initilize variables for this simulation void Init(); - // get the address of the array mapping the signal or pointers to arrays - //virtual AliITSMap* HitMap(Int_t i); + // Get a pointer to the segmentation object + virtual AliITSsegmentation* GetSegmentationModel(Int_t /*dt*/){return fDetType->GetSegmentationModel(1);} + // set pointer to segmentation object + virtual void SetSegmentationModel(Int_t /*dt*/, AliITSsegmentation *seg){fDetType->SetSegmentationModel(1,seg);} - // Return The Responce class - AliITSresponseSDD* GetResp(){return (AliITSresponseSDD*)fResponse;} - // Return The Segmentation class - AliITSsegmentationSDD* GetSeg(){ - return (AliITSsegmentationSDD*)fSegmentation;} // set the scale size factor for the smples in FFT virtual void SetScaleFourier(Int_t scale=4) {fScaleSize=scale;} Int_t ScaleFourier() const {return fScaleSize;} // returns the scale factor @@ -58,12 +58,10 @@ class AliITSsimulationSDD : public AliITSsimulation { virtual void SetCrosstalkFlag(Bool_t flag=kFALSE) {fCrosstalkFlag=flag;} // return crosstalk flag Bool_t CrosstalkFlag() const {return fCrosstalkFlag;} - // set compression parameters for 2D or 1D via response functions - void SetCompressParam(); // retrieve compression parameters for 2D or 1D - void CompressionParam(Int_t i, Int_t &db, Int_t &tl, Int_t &th); + void CompressionParam(Int_t i, Int_t &db, Int_t &tl, Int_t &th) const; // retrieve compression parameters for 2D or 1D - void CompressionParam(Int_t i, Int_t &db, Int_t &tl); + void CompressionParam(Int_t i, Int_t &db, Int_t &tl) const; virtual Int_t Convert10to8(Int_t signal) const;//10 to 8 bit SDD compresion virtual void ZeroSuppression(const char *opt); // Apply zero suppresion @@ -72,9 +70,8 @@ class AliITSsimulationSDD : public AliITSsimulation { virtual void Init1D(); // initilizes 1D compresion algorithm virtual void Compress1D(); // Applies 1D compresion algorithm virtual void StoreAllDigits(); // if No compresion run this. - virtual void ReadBaseline(); // read baseline values from a file // returns baseline and noise for a given anode i. - virtual void GetAnodeBaseline(Int_t i,Double_t &baseline,Double_t &noise); + //virtual void GetAnodeBaseline(Int_t i,Double_t &baseline,Double_t &noise) const; // local implementation of ITS->AddDigit. Specific for SDD virtual void AddDigit(Int_t i, Int_t j, Int_t signal); // Finds clulsters of signals. Use with regards to Compresion algorithms @@ -83,17 +80,17 @@ class AliITSsimulationSDD : public AliITSsimulation { // get parameters for 1D - this could be changed when we get more // input from Torino after they have a look at the code - virtual Int_t Tolerance(Int_t i) {return fTol[i];}//returns tolerance - virtual Int_t Disable(Int_t i) {return fT2[i];}//high threshold 2D + virtual Int_t Tolerance(Int_t i) const {return fTol[i];}//returns tolerance + virtual Int_t Disable(Int_t i) const {return fT2[i];}//high threshold 2D // Set the output file name - for 1D encoding virtual void SetFileName(const char *filnam) {fFileName=filnam;} // add baseline, noise, electronics and ADC saturation effects - void ChargeToSignal(Bool_t bAddNoise=kFALSE); + void ChargeToSignal(Int_t mod,Bool_t bAddNoise=kFALSE); // add dead channels - void ApplyDeadChannels(); + void ApplyDeadChannels(Int_t mod); // add crosstalk effect - void ApplyCrosstalk(); + void ApplyCrosstalk(Int_t mod); // create maps to build the lists of tracks for each summable digit void InitSimulationModule( Int_t module, Int_t event ); @@ -148,9 +145,12 @@ class AliITSsimulationSDD : public AliITSsimulation { void SetDoFFT(Int_t doFFT=1) {fDoFFT=doFFT;} // Print SSD simulation Parameters - virtual void Print(); + virtual void PrintStatus() const; private: + // virtual void GetBaseline(Int_t mod); // read baseline values from a file + // set compression parameters for 2D or 1D via response functions + void SetCompressParam(); // Variables and pointers for local use only. Not Streamed out. AliITS *fITS; //! local pointer to ITS AliITSMapA2 *fHitMap2; //! local pointer to map of signals @@ -173,8 +173,8 @@ class AliITSsimulationSDD : public AliITSsimulation { TArrayI fT1; // low thresholds TArrayI fT2; // high thresholds(2D) or disable (1D) TArrayI fTol; // tolerance - TArrayF fBaseline; // Baseline - TArrayF fNoise; // Noise value + // TArrayF fBaseline; // Baseline + //TArrayF fNoise; // Noise value TNtuple *fTreeB; // Background info tree for 2D TString fParam; // Compresion algorithm options TString fFileName; // File name for possible options above @@ -186,7 +186,7 @@ class AliITSsimulationSDD : public AliITSsimulation { Int_t fMaxNofSamples;// Number of time samples Int_t fScaleSize; // scale size factor for the samples in FFT - ClassDef(AliITSsimulationSDD,1) // Simulation of SDD clusters + ClassDef(AliITSsimulationSDD,2) // Simulation of SDD clusters }; #endif