]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSDetType.h
Correct material budget for tracks stopped at TRD (S.Arcelli)
[u/mrichter/AliRoot.git] / ITS / AliITSDetType.h
CommitLineData
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
23class AliITSClusterFinder;
24class AliITSsimulation;
25
8dd1cfa6 26class 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