]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSDetTypeSim.h
fixed the tainted variables
[u/mrichter/AliRoot.git] / ITS / AliITSDetTypeSim.h
index d007ceefed773eb22e456cc6caa383a2246550f5..4829a400b0c64461b6ed02632ad7cfebaac0200d 100644 (file)
@@ -15,6 +15,7 @@ $Id$
 #include <TObject.h>
 #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
  
 };