a0b5bec32e9ab791bf14d38ed113a2b3cad42d73
[u/mrichter/AliRoot.git] / ITS / AliITSDetType.h
1 #ifndef ALIITSDETTYPE_H
2 #define ALIITSDETTYPE_H
3
4
5 #include <TString.h>
6 #include <TObject.h>
7
8 #include "AliITSsegmentation.h"
9 #include "AliITSresponse.h"
10
11 class AliITSClusterFinder;
12 class AliITSsimulation;
13
14 class AliITSDetType:public TObject
15 {
16
17  public:
18     AliITSDetType();
19     ~AliITSDetType(){
20       //destructor
21     }
22     AliITSDetType(const AliITSDetType &source); // copy constructor
23     AliITSDetType& operator=(const AliITSDetType &source); // assign. operator
24
25 // Set the defaults
26   void   Init() {}
27
28 //
29   void    SegmentationModel(AliITSsegmentation* thisSegmentation){ 
30     // Configure segmentation model
31     if(fSegmentation) delete fSegmentation;
32     fSegmentation=thisSegmentation;
33   }
34   //
35   void    ResponseModel(AliITSresponse* thisResponse) { 
36     // Configure response model
37     if(fResponse) delete fResponse;
38     fResponse=thisResponse;
39   }
40   //
41   void    SimulationModel(AliITSsimulation *thisSimulation) {
42     // Configure simulation model
43     fSimulation = thisSimulation;
44   }
45   //
46   void    ReconstructionModel(AliITSClusterFinder *thisReconstruction) {
47 // Configure reconstruction model
48       fReconst = thisReconstruction;
49   }
50   void    ClassNames(TString digit, TString cluster) { 
51     // Set class names for digits and clusters
52     fDigClassName=digit; fClustClassName=cluster; 
53   } 
54   
55   AliITSsegmentation*      &GetSegmentationModel(){
56     //  Get reference to segmentation model
57     return fSegmentation;
58   }
59   AliITSresponse*          &GetResponseModel(){
60     //  Get reference to response model
61     return fResponse;
62   }
63   AliITSsimulation*        &GetSimulationModel(){
64     //  Get reference to simulation model
65     return fSimulation;
66   }
67   AliITSClusterFinder*     &GetReconstructionModel(){
68     //  Get reference to hit reconstruction model
69     return fReconst;
70   }
71   //  
72   
73   void GetClassNames(const char *&digit, const char *&cluster) 
74     { 
75       // Get class names for digits and rec points
76       digit=fDigClassName; cluster=fClustClassName; 
77     } 
78   
79 protected:
80   
81   AliITSClusterFinder  *fReconst;          // cluster finder
82   AliITSsimulation     *fSimulation;       // simulation
83   AliITSresponse       *fResponse;         // response
84   AliITSsegmentation   *fSegmentation;     // segmentation
85   
86   TString              fDigClassName;      // string
87   TString              fClustClassName;    // string
88   
89   ClassDef(AliITSDetType,1)
90     
91     };
92
93 #endif