X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSDetTypeSim.h;h=4829a400b0c64461b6ed02632ad7cfebaac0200d;hb=dfd6be22fcd826f8623894333bf6c42a8244f88f;hp=d007ceefed773eb22e456cc6caa383a2246550f5;hpb=ef665f5e26888ea6feb2bc20cfd390d3cba6e78c;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSDetTypeSim.h b/ITS/AliITSDetTypeSim.h index d007ceefed7..4829a400b0c 100644 --- a/ITS/AliITSDetTypeSim.h +++ b/ITS/AliITSDetTypeSim.h @@ -15,6 +15,7 @@ $Id$ #include #include "AliITSLoader.h" #include "AliITSSimuParam.h" +#include "AliITSFOGeneratorSPD.h" class TObjArray; class TClonesArray; @@ -30,9 +31,12 @@ class AliITSCalibrationSSD; class AliITSGainSSDv2; class AliITSBadChannelsSSDv2; class AliITSNoiseSSDv2; +class AliITSresponseSDD; class AliITSDDLModuleMapSDD; class AliITSCalibration; class AliITSgeom; +class AliITSFOSignalsSPD; +class AliITSTriggerConditions; class AliITSDetTypeSim : public TObject { public: @@ -55,7 +59,11 @@ class AliITSDetTypeSim : public TObject { virtual AliITSsegmentation* GetSegmentationModelByModule(Int_t module) const; virtual void SetCalibrationModel(Int_t iMod,AliITSCalibration *resp); + virtual void SetSPDNoisyModel(Int_t iMod, AliITSCalibration *cal); + virtual AliITSCalibration* GetCalibrationModel(Int_t iMod) const; + virtual AliITSCalibration* GetSPDNoisyModel(Int_t iMod) const; + virtual AliITSTriggerConditions* GetTriggerConditions(); virtual void SetSimuParam(const AliITSSimuParam* spar){ if(fSimuPar) delete fSimuPar; @@ -63,8 +71,8 @@ class AliITSDetTypeSim : public TObject { } virtual AliITSSimuParam* GetSimuParam() const {return fSimuPar;} - virtual Bool_t IsHLTmodeC() const {return fIsHLTmodeC;} virtual AliITSDDLModuleMapSDD* GetDDLModuleMapSDD()const { return fDDLMapSDD;} + virtual AliITSresponseSDD* GetResponseSDD() const { return fRespSDD;} TObjArray* GetCalibrationArray() const {return fCalibration;} TObjArray* GetSegmentation() const {return fSegmentation;} void ResetCalibrationArray(); @@ -100,6 +108,17 @@ class AliITSDetTypeSim : public TObject { fkDigClassName[i]=name;} const Char_t* GetDigitClassName(Int_t i) const {return fkDigClassName[i];} + virtual void ResetFOSignals() {fFOGenerator.ResetSignals();} + virtual void ProcessSPDDigitForFastOr(UInt_t module, UInt_t colM, UInt_t rowM); + virtual void ProcessNoiseForFastOr() {fFOGenerator.ProcessNoise();} + virtual AliITSFOSignalsSPD* GetFOSignals() {return fFOGenerator.GetFOSignals();} + virtual void WriteFOSignals(); + virtual Float_t GetAverageGainSDD() const { + if(fAveGainSDD>0.) return fAveGainSDD; + else return 1.; + } + + protected: virtual void CreateCalibrationArray(); virtual Bool_t GetCalibration(); @@ -125,6 +144,7 @@ class AliITSDetTypeSim : public TObject { TObjArray *fSegmentation; //! [NDet] TObjArray *fCalibration; //! [NMod] AliITSCalibrationSSD* fSSDCalibration; //! SSD calibration object + TObjArray *fSPDNoisy; //! [fgkDefaultNModulesSPD] Int_t fNSDigits; //! number of SDigits TClonesArray fSDigits; //! Summable digits Int_t* fNDigits; //! [NDet] number of Digits for det. @@ -132,12 +152,15 @@ class AliITSDetTypeSim : public TObject { TObjArray *fDigits; //! [NMod][NDigits] AliITSSimuParam *fSimuPar; //! detector simulation parameters AliITSDDLModuleMapSDD *fDDLMapSDD; //! mapping DDL/module -> SDD module number + AliITSresponseSDD *fRespSDD; //! SDD response parameters + Float_t fAveGainSDD; //! Average gain of SDD good anodes const Char_t* fkDigClassName[3]; //! String with digit class name. AliITSLoader* fLoader; //! loader Bool_t fFirstcall; //! flag - Bool_t fIsHLTmodeC; //! flag for HLT mode C status (used by SDD) - - ClassDef(AliITSDetTypeSim,9) // ITS Simulation structure + AliITSFOGeneratorSPD fFOGenerator; //! Fast-OR generator object + AliITSTriggerConditions* fTriggerConditions; //! Trigger conditions + + ClassDef(AliITSDetTypeSim,13) // ITS Simulation structure };