]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSsimulation.h
One instance of AliITSresponse per sensor - AliITSresponse objects read/stored from...
[u/mrichter/AliRoot.git] / ITS / AliITSsimulation.h
index faebb47e0f04522450ea965924ad3beeebb037b5..85fd1da0be63ee98976e11b78a5f0d63eda1a126 100644 (file)
@@ -18,6 +18,7 @@
 /* $Id$ */
 
 #include <TObject.h>
+#include "AliITSDetTypeSim.h"
 #include "AliITSpList.h"
 
 class AliITSresponse;
@@ -35,7 +36,7 @@ class AliITSsimulation : public TObject {
   public:
     AliITSsimulation(); // Default constructor
     // Standard constructor
-    AliITSsimulation(AliITSsegmentation *seg,AliITSresponse *res);
+    AliITSsimulation(AliITSDetTypeSim *dettyp);
     virtual ~AliITSsimulation(); // destructor
     // copy constructor. See detector specific implementation.
     AliITSsimulation(const AliITSsimulation &source);
@@ -66,15 +67,14 @@ class AliITSsimulation : public TObject {
     // digitizes module using the "fast" detector simulator.
     virtual void CreateFastRecPoints(AliITSmodule *,Int_t,
                                     TRandom *,TClonesArray* /*recp*/) {;}
-    // Return pointer to Response model
-    virtual AliITSresponse* GetResponseModel(){return fResponse;}
-    // set pointer to Response model
-    virtual void SetResponseModel(AliITSresponse *res){fResponse = res;}
-    // Return pointer to Response model
-    virtual AliITSsegmentation* GetSegmentationModel(){return fSegmentation;}
-    // set pointer to Response model
-    virtual void SetSegmentationModel(AliITSsegmentation *seg){
-                                                        fSegmentation = seg;}
+   // Return pointer to Response model
+    virtual AliITSresponse* GetResponseModel(Int_t mod = 0){return fDetType->GetResponseModel(mod);}
+   // set pointer to Response model
+    virtual void SetResponseModel(Int_t mod, AliITSresponse *res){fDetType->SetResponseModel(mod,res);}
+    // Return pointer to Segmentation object
+    virtual AliITSsegmentation* GetSegmentationModel(Int_t dt) = 0;
+    // set pointer to Segmentation object
+    virtual void SetSegmentationModel(Int_t dt,AliITSsegmentation *seg) = 0;
     virtual AliITSpList* GetMap(){return fpList;} // Returns fpList, the map.
     virtual void SetMap(AliITSpList *p){fpList = p;} // Sets fpList, the map.
     virtual void ClearMap(){fpList->ClearMap();} // Clear fpList, map.
@@ -90,14 +90,15 @@ class AliITSsimulation : public TObject {
     Bool_t GetDebug(Int_t level=1)const {return fDebug>=level;}
 
  protected:
-    AliITSresponse      *fResponse;       //! response
-    AliITSsegmentation  *fSegmentation;   //! segmentation 
+    //    AliITSresponse      *fResponse;       //! response
+    //    AliITSsegmentation  *fSegmentation;   //! segmentation 
+    AliITSDetTypeSim    *fDetType;        //! Access resp and segm via this obj
     AliITSpList         *fpList;          //!
     Int_t                fModule;         //!
     Int_t                fEvent;          //!
     Int_t                fDebug;          //  debug flag
 
-  ClassDef(AliITSsimulation,3)  // Simulation base class 
+  ClassDef(AliITSsimulation,4)  // Simulation base class 
     
 };