]>
Commit | Line | Data |
---|---|---|
023ae34b | 1 | #ifndef ALIITSINITGEOMETRY_H |
2 | #define ALIITSINITGEOMETRY_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* | |
7 | $Id$ | |
8 | */ | |
9 | ||
10 | /* | |
11 | Class to inilize AliITSgeom and the like for both simulation | |
12 | and reconstriction. | |
13 | */ | |
14 | #include <TObject.h> | |
15 | #include <TArrayD.h> | |
16 | #include <TString.h> | |
17 | #include <TGeoMatrix.h> | |
18 | ||
19 | #include "AliITSgeom.h" | |
20 | ||
21 | class AliITSInitGeometry : public TObject{ | |
22 | public: | |
23 | AliITSInitGeometry(); // Default Creator | |
24 | AliITSInitGeometry(const Char_t *name,Int_t minorversion);//Standard Creator | |
25 | //virtual ~AliITSInitGeometry(); // Destructor | |
26 | // | |
27 | AliITSgeom* CreateAliITSgeom(); // Create and intilize geometry from TGeom | |
28 | Bool_t InitAliITSgeom(AliITSgeom *geom);//Initilize goemetry from gGeoManager | |
29 | // Getters and Setters | |
30 | TString GetGeometryName()const {return fName;}// Return geometry name | |
31 | void SetGeometryName(const Char_t *name){fName = name;}// Set Geometry name | |
32 | Int_t GetMajorVersion()const {return fMajorVersion;} // Return geometry major version | |
33 | void SetMajorVersion(Int_t majorVersion){fMajorVersion = majorVersion;} // Set geometry major version | |
34 | Int_t GetMinorVersion()const{return fMinorVersion;}// Return geometry minor version | |
35 | void SetMinorVersion(Int_t minorVersion){fMinorVersion = minorVersion;} | |
36 | Bool_t GetTiming()const{return fTiming;} // return routine timing flag | |
37 | void SetTiming(Bool_t time=kTRUE){fTiming=time;}// Set routine timing (on) | |
38 | Bool_t GetSegGeom()const{return fSegGeom;} // return flag indecating the use of AliITSsegmentation or AliITSgeomS?D class in fShape. | |
39 | void SetSegGeom(Bool_t seg=kTRUE){fSegGeom = seg;}// Set the use of AliITSsegmentation class' instead of AliITSgeomS?D class in fShape | |
40 | Bool_t GetDecoding()const{return fDecode;}// Return flag indecating wether to use new/old decoding | |
41 | void SetDecoding(Bool_t newdec=kFALSE){fDecode = newdec;}// Set flag to use new/old decoding | |
42 | ||
43 | private: | |
44 | // Virtual MC code reproduction | |
45 | Bool_t InitAliITSgeomPPRasymmFMD(AliITSgeom *geom); | |
46 | Bool_t InitGeomShapePPRasymmFMD(AliITSDetector idet,Bool_t *initSeg, | |
47 | TArrayD &shapePar,AliITSgeom *geom); | |
48 | Bool_t InitSegmentationPPRasymmFMD(AliITSDetector idet,Bool_t *initSeg, | |
49 | TArrayD &shapePar,AliITSgeom *geom); | |
50 | Bool_t GetTransformation(const TString &volumePath,TGeoHMatrix &mat); | |
51 | Bool_t GetShape(const TString &volumePath,TString &shapeType,TArrayD &par); | |
52 | void DecodeDetectorLayers(Int_t mod,Int_t &lay,Int_t &lad,Int_t &det); | |
53 | void DecodeDetector(Int_t &mod,Int_t lay,Int_t cpn0,Int_t cpn1,Int_t cpn2); | |
54 | void RecodeDetector(Int_t mod,Int_t &cpn0,Int_t &cpn1,Int_t &cpn2); | |
55 | ||
56 | TString fName; // Geometry name | |
57 | Int_t fMinorVersion; // Geometry minor version | |
58 | Int_t fMajorVersion; // Geometry swich value | |
59 | Bool_t fTiming; // Flag to start inilization timing | |
60 | Bool_t fSegGeom; // Flag to switch between the old use of | |
61 | // AliITSgeomS?D class, or AliITSsegmentation | |
62 | // class in fShape of AliITSgeom class. | |
63 | Bool_t fDecode; // Flag for new/old decoding | |
64 | ||
65 | ClassDef(AliITSInitGeometry,0) // create/Init AliITSgeom | |
66 | // 0 in ClassDef indicates that this class will not be "saved" in a file. | |
67 | }; | |
68 | ||
69 | #endif | |
70 |