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