]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSDetTypeSim.h
commented define _ClusterTopology_ - to be used only for the special productions
[u/mrichter/AliRoot.git] / ITS / AliITSDetTypeSim.h
index 6f7fa795c296f7066202013fbb8ffab07ebfb48a..410ec2e038999ff24c71f4b47a1008d5847475b1 100644 (file)
@@ -31,6 +31,7 @@ class AliITSCalibrationSSD;
 class AliITSGainSSDv2;
 class AliITSBadChannelsSSDv2;
 class AliITSNoiseSSDv2;
+class AliITSresponseSDD;
 class AliITSDDLModuleMapSDD;
 class AliITSCalibration;
 class AliITSgeom;
@@ -42,8 +43,6 @@ class AliITSDetTypeSim : public TObject {
   
     AliITSDetTypeSim();
     virtual ~AliITSDetTypeSim(); 
-    AliITSDetTypeSim(const AliITSDetTypeSim &source);
-    AliITSDetTypeSim& operator=(const AliITSDetTypeSim &source);
     AliITSgeom *GetITSgeom() const {
         if(fLoader)return ((AliITSLoader*)fLoader)->GetITSgeom();
        else return 0;}
@@ -58,7 +57,8 @@ 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 void SetSPDNoisyModel(Int_t iMod, AliITSCalibration *cal);
+    virtual void SetSPDSparseDeadModel(Int_t iMod, AliITSCalibration *cal);
 
     virtual AliITSCalibration* GetCalibrationModel(Int_t iMod) const;
     virtual AliITSCalibration* GetSPDNoisyModel(Int_t iMod) const;
@@ -71,6 +71,7 @@ class AliITSDetTypeSim : public TObject {
     virtual AliITSSimuParam* GetSimuParam() const {return fSimuPar;}
 
     virtual AliITSDDLModuleMapSDD* GetDDLModuleMapSDD()const { return fDDLMapSDD;}
+    virtual AliITSresponseSDD* GetResponseSDD() const { return fRespSDD;}
     TObjArray* GetCalibrationArray() const {return fCalibration;}
     TObjArray* GetSegmentation() const {return fSegmentation;}
     void ResetCalibrationArray();
@@ -111,6 +112,10 @@ class AliITSDetTypeSim : public TObject {
     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:
@@ -118,6 +123,8 @@ class AliITSDetTypeSim : public TObject {
     virtual Bool_t GetCalibration();
     
  private:
+    AliITSDetTypeSim(const AliITSDetTypeSim &source);
+    AliITSDetTypeSim& operator=(const AliITSDetTypeSim &source);
     void SetDefaultSegmentation(Int_t idet);  // creates def segm.
 
     //conversion of the old SSD calibration objects tothe new ones
@@ -132,13 +139,13 @@ class AliITSDetTypeSim : public TObject {
     static const Int_t fgkDefaultNModulesSPD; // Total numbers of SPD modules by default
     static const Int_t fgkDefaultNModulesSDD; // Total numbers of SDD modules by default
     static const Int_t fgkDefaultNModulesSSD; // Total numbers of SSD modules by default
-    Int_t fNMod[3];                           // numbers of modules from different types
 
     TObjArray    *fSimulation;   //! [NDet]
     TObjArray    *fSegmentation; //! [NDet]
     TObjArray    *fCalibration;  //! [NMod]
     AliITSCalibrationSSD* fSSDCalibration;  //! SSD calibration object
     TObjArray    *fSPDNoisy;     //! [fgkDefaultNModulesSPD]
+    TObjArray    *fSPDSparseDead;//! [fgkDefaultNModulesSPD]
     Int_t         fNSDigits;     //! number of SDigits
     TClonesArray  fSDigits;      //! Summable digits
     Int_t*        fNDigits;      //! [NDet] number of Digits for det.
@@ -146,13 +153,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
     AliITSFOGeneratorSPD fFOGenerator; //! Fast-OR generator object
     AliITSTriggerConditions* fTriggerConditions; //! Trigger conditions 
        
-    ClassDef(AliITSDetTypeSim,11) // ITS Simulation structure
+    ClassDef(AliITSDetTypeSim,15) // ITS Simulation structure
  
 };