]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDetType.h
Moving lib*.pkg
[u/mrichter/AliRoot.git] / ITS / AliITSDetType.h
1 #ifndef ALIITSDETTYPE_H
2 #define ALIITSDETTYPE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////////////////////////
9 // This Class owns the classes needed to to detector simulations and
10 // reconstruction. This includes the detector segmentation classes,
11 // the detector responce classes, the detector simulatin classes, and
12 // the detector reconstruction (clustering) classes for all of the ITS
13 // detectors.
14 ////////////////////////////////////////////////////////////////////////
15
16 #include <TString.h>
17 #include <TObject.h>
18
19 #include "AliITSsegmentation.h"
20 #include "AliITSresponse.h"
21
22 class AliITSClusterFinder;
23 class AliITSsimulation;
24
25 class AliITSDetType:public TObject{
26
27  public:
28     AliITSDetType();
29     virtual ~AliITSDetType();
30     AliITSDetType(const AliITSDetType &source); // copy constructor
31     AliITSDetType& operator=(const AliITSDetType &source); // assign. operator
32
33     // Set the defaults
34     virtual void   Init() {}
35     //
36     virtual void    SegmentationModel(AliITSsegmentation* thisSegmentation){ 
37         // Configure segmentation model
38         if(fSegmentation) delete fSegmentation;
39         fSegmentation=thisSegmentation;
40     }
41     //
42     virtual void    ResponseModel(AliITSresponse* thisResponse) { 
43         // Configure response model
44         if(fResponse) delete fResponse;
45         fResponse=thisResponse;
46     }
47     //
48     virtual void    SimulationModel(AliITSsimulation *thisSimulation) {
49         // Configure simulation model
50         fSimulation = thisSimulation;
51     }
52     //
53     virtual void ReconstructionModel(AliITSClusterFinder *thisReconstruction) {
54         // Configure reconstruction model
55         fReconst = thisReconstruction;
56     }
57     virtual void    ClassNames(const char *digit, const char *cluster) { 
58         // Set class names for digits and clusters
59         fDigClassName=digit; fClustClassName=cluster; 
60     }
61     AliITSsegmentation*      &GetSegmentationModel(){
62         //  Get reference to segmentation model
63         return fSegmentation;
64     }
65     AliITSresponse*          &GetResponseModel(){
66         //  Get reference to response model
67         return fResponse;
68     }
69     AliITSsimulation*        &GetSimulationModel(){
70         //  Get reference to simulation model
71         return fSimulation;
72     }
73     AliITSClusterFinder*     &GetReconstructionModel(){
74         //  Get reference to hit reconstruction model
75         return fReconst;
76     }
77     //
78     void GetClassNames(char *digit,char *cluster){
79         // Get class names for digits and rec points
80         strcpy(digit,fDigClassName.Data());
81         strcpy(cluster,fClustClassName.Data()); 
82     } 
83     // Return the Digit Class name
84     TString GetDigitClassName() const { return fDigClassName;}
85     // Return the Cluster Class name
86     TString GetClusterClassName() const { return fClustClassName;}
87   
88  protected:
89     AliITSresponse       *fResponse;         // response
90     AliITSsegmentation   *fSegmentation;     // segmentation
91     AliITSsimulation     *fSimulation;       // simulation
92     AliITSClusterFinder  *fReconst;          // cluster finder
93
94     TString              fDigClassName;      // string
95     TString              fClustClassName;    // string
96
97     ClassDef(AliITSDetType,1) //Detector simulation/reconstruction class holder
98
99 };
100
101 #endif