]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSDETTYPE_H |
2 | #define ALIITSDETTYPE_H | |
8dd1cfa6 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
b0f5e3fc | 5 | |
8dd1cfa6 | 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 | //////////////////////////////////////////////////////////////////////// | |
b0f5e3fc | 15 | |
16 | #include <TString.h> | |
17 | #include <TObject.h> | |
18 | ||
aacedc3e | 19 | #include "AliITSgeom.h" |
b0f5e3fc | 20 | #include "AliITSsegmentation.h" |
21 | #include "AliITSresponse.h" | |
22 | ||
23 | class AliITSClusterFinder; | |
24 | class AliITSsimulation; | |
25 | ||
8dd1cfa6 | 26 | class AliITSDetType:public TObject{ |
b0f5e3fc | 27 | |
28 | public: | |
29 | AliITSDetType(); | |
aacedc3e | 30 | AliITSDetType(AliITSDetector det,AliITSresponse *res, |
31 | AliITSsegmentation *seg,AliITSsimulation *sim, | |
32 | AliITSClusterFinder *cf,const Char_t *DigClassName, | |
33 | const Char_t *ClustClassName); | |
c0904637 | 34 | virtual ~AliITSDetType(); |
b0f5e3fc | 35 | AliITSDetType(const AliITSDetType &source); // copy constructor |
36 | AliITSDetType& operator=(const AliITSDetType &source); // assign. operator | |
aacedc3e | 37 | // Return the type of detector these quantities are defined for |
38 | AliITSDetector GetDetType(){return fDetType;} | |
39 | // Set the type of Detector these quantities are defined for | |
40 | void SetDetType(AliITSDetector det){fDetType = det;} | |
b0f5e3fc | 41 | |
8dd1cfa6 | 42 | // Set the defaults |
43 | virtual void Init() {} | |
44 | // | |
45 | virtual void SegmentationModel(AliITSsegmentation* thisSegmentation){ | |
46 | // Configure segmentation model | |
47 | if(fSegmentation) delete fSegmentation; | |
48 | fSegmentation=thisSegmentation; | |
49 | } | |
50 | // | |
51 | virtual void ResponseModel(AliITSresponse* thisResponse) { | |
52 | // Configure response model | |
53 | if(fResponse) delete fResponse; | |
54 | fResponse=thisResponse; | |
55 | } | |
56 | // | |
57 | virtual void SimulationModel(AliITSsimulation *thisSimulation) { | |
58 | // Configure simulation model | |
59 | fSimulation = thisSimulation; | |
60 | } | |
61 | // | |
62 | virtual void ReconstructionModel(AliITSClusterFinder *thisReconstruction) { | |
63 | // Configure reconstruction model | |
64 | fReconst = thisReconstruction; | |
65 | } | |
66 | virtual void ClassNames(const char *digit, const char *cluster) { | |
67 | // Set class names for digits and clusters | |
68 | fDigClassName=digit; fClustClassName=cluster; | |
69 | } | |
70 | AliITSsegmentation* &GetSegmentationModel(){ | |
71 | // Get reference to segmentation model | |
72 | return fSegmentation; | |
73 | } | |
74 | AliITSresponse* &GetResponseModel(){ | |
75 | // Get reference to response model | |
76 | return fResponse; | |
77 | } | |
78 | AliITSsimulation* &GetSimulationModel(){ | |
79 | // Get reference to simulation model | |
80 | return fSimulation; | |
81 | } | |
82 | AliITSClusterFinder* &GetReconstructionModel(){ | |
83 | // Get reference to hit reconstruction model | |
84 | return fReconst; | |
85 | } | |
86 | // | |
87 | void GetClassNames(char *digit,char *cluster){ | |
88 | // Get class names for digits and rec points | |
89 | strcpy(digit,fDigClassName.Data()); | |
90 | strcpy(cluster,fClustClassName.Data()); | |
b0f5e3fc | 91 | } |
8f187d99 | 92 | // Return the Digit Class name |
7f6ab649 | 93 | TString GetDigitClassName() const { return fDigClassName;} |
8f187d99 | 94 | // Return the Cluster Class name |
7f6ab649 | 95 | TString GetClusterClassName() const { return fClustClassName;} |
aacedc3e | 96 | |
8dd1cfa6 | 97 | protected: |
aacedc3e | 98 | AliITSDetector fDetType; // Type of detector |
8dd1cfa6 | 99 | AliITSresponse *fResponse; // response |
100 | AliITSsegmentation *fSegmentation; // segmentation | |
101 | AliITSsimulation *fSimulation; // simulation | |
102 | AliITSClusterFinder *fReconst; // cluster finder | |
8dd1cfa6 | 103 | TString fDigClassName; // string |
104 | TString fClustClassName; // string | |
105 | ||
aacedc3e | 106 | ClassDef(AliITSDetType,2) //Detector simulation/reconstruction class holder |
8dd1cfa6 | 107 | |
e8189707 | 108 | }; |
b0f5e3fc | 109 | |
110 | #endif |