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 */
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
14 ////////////////////////////////////////////////////////////////////////
19 #include "AliITSgeom.h"
20 #include "AliITSsegmentation.h"
21 #include "AliITSresponse.h"
23 class AliITSClusterFinder;
24 class AliITSsimulation;
26 class AliITSDetType:public TObject{
30 AliITSDetType(AliITSDetector det,AliITSresponse *res,
31 AliITSsegmentation *seg,AliITSsimulation *sim,
32 AliITSClusterFinder *cf,const Char_t *DigClassName,
33 const Char_t *ClustClassName);
34 virtual ~AliITSDetType();
35 AliITSDetType(const AliITSDetType &source); // copy constructor
36 AliITSDetType& operator=(const AliITSDetType &source); // assign. operator
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;}
43 virtual void Init() {}
45 virtual void SegmentationModel(AliITSsegmentation* thisSegmentation){
46 // Configure segmentation model
47 if(fSegmentation) delete fSegmentation;
48 fSegmentation=thisSegmentation;
51 virtual void ResponseModel(AliITSresponse* thisResponse) {
52 // Configure response model
53 if(fResponse) delete fResponse;
54 fResponse=thisResponse;
57 virtual void SimulationModel(AliITSsimulation *thisSimulation) {
58 // Configure simulation model
59 fSimulation = thisSimulation;
62 virtual void ReconstructionModel(AliITSClusterFinder *thisReconstruction) {
63 // Configure reconstruction model
64 fReconst = thisReconstruction;
66 virtual void ClassNames(const char *digit, const char *cluster) {
67 // Set class names for digits and clusters
68 fDigClassName=digit; fClustClassName=cluster;
70 AliITSsegmentation* &GetSegmentationModel(){
71 // Get reference to segmentation model
74 AliITSresponse* &GetResponseModel(){
75 // Get reference to response model
78 AliITSsimulation* &GetSimulationModel(){
79 // Get reference to simulation model
82 AliITSClusterFinder* &GetReconstructionModel(){
83 // Get reference to hit reconstruction model
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());
92 // Return the Digit Class name
93 TString GetDigitClassName() const { return fDigClassName;}
94 // Return the Cluster Class name
95 TString GetClusterClassName() const { return fClustClassName;}
98 AliITSDetector fDetType; // Type of detector
99 AliITSresponse *fResponse; // response
100 AliITSsegmentation *fSegmentation; // segmentation
101 AliITSsimulation *fSimulation; // simulation
102 AliITSClusterFinder *fReconst; // cluster finder
103 TString fDigClassName; // string
104 TString fClustClassName; // string
106 ClassDef(AliITSDetType,2) //Detector simulation/reconstruction class holder