]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/AliITSUInitGeometry.h
Fix in RefitTrack: in inward refit innermost cluster was skept
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUInitGeometry.h
CommitLineData
451f5018 1#ifndef ALIITSUINITGEOMETRY_H
2#define ALIITSUINITGEOMETRY_H
29998a6e 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*
451f5018 7$Id: AliITSUInitGeometry.h $
29998a6e 8*/
9
10/////////////////////////////////////////////////////////////////////
11// Class to inilize AliITSgeom and the like for both simulation
12// and reconstruction.
13/////////////////////////////////////////////////////////////////////
14
15#include <TObject.h>
16#include <TString.h>
17#include "AliITSgeom.h"
18
29998a6e 19class TArrayD;
20class TGeoHMatrix;
21class TDatime;
22
451f5018 23class AliITSUInitGeometry : public TObject{
29998a6e 24 public:
25
451f5018 26 AliITSUInitGeometry();//Default Constructor
27 AliITSUInitGeometry(AliITSVersion_t version,Int_t minorversion=2);//Standard Constructor
28 //virtual ~AliITSUInitGeometry(); // Destructor
29998a6e 29 //
30 // Create and initialize geometry from TGeo
31 AliITSgeom* CreateAliITSgeom();
32 AliITSgeom* CreateAliITSgeom(Int_t major,Int_t minor);
33 Bool_t InitAliITSgeom(AliITSgeom *geom);//Initilize geometry from gGeoManager
29998a6e 34 TString GetGeometryName()const {return fName;}// Return geometry name
35 void SetGeometryName(const Char_t *name){fName = name;}// Set Geometry name
29998a6e 36 Bool_t GetTiming()const{return fTiming;} // return routine timing flag
37 void SetTiming(Bool_t time=kTRUE){fTiming=time;}// Set routine timing (on)
29998a6e 38 void SetDebug(Int_t debug=0){fDebug=debug;};
39 // Retrun debug value
40 Int_t GetDebug()const{return fDebug;};
41 // Decode module number into old layer, ladder, and detector numbers
42 void DecodeDetectorLayers(Int_t mod,Int_t &lay,Int_t &lad,Int_t &det);
43 // find module number by layer, and copy numbers
451f5018 44 void DecodeDetector(Int_t &mod,Int_t lay,Int_t cpn0,
45 Int_t cpn1,Int_t cpn2) const;
29998a6e 46 // Given module number, find copy numbers.
451f5018 47 void RecodeDetector(Int_t mod,Int_t &cpn0,Int_t &cpn1,Int_t &cpn2);
29998a6e 48 Int_t GetNumberOfLayers();
535d15f5 49 Int_t GetNumberOfLadders(const Int_t lay) const;
50 Int_t GetNumberOfModules(const Int_t lay) const;
51 Int_t GetLayerDetTypeID(const Int_t lay) const;
52 //
29998a6e 53 private:
54 // Decode module number into old layer, ladder, and detector numbers
55 void DecodeDetectorLayersv11(Int_t mod,Int_t &lay,
56 Int_t &lad,Int_t &det);
57 // find module number by layer, and copy numbers
58 void DecodeDetectorv11(Int_t &mod,Int_t lay,Int_t cpn0,Int_t cpn1,
59 Int_t cpn2)const;
60 // Given module number, find copy numbers.
61 void RecodeDetectorv11(Int_t mod,Int_t &cpn0,Int_t &cpn1,
62 Int_t &cpn2);
63 // Decode module number into old layer, ladder, and detector numbers
64 void DecodeDetectorvUpgrade(Int_t &mod,Int_t lay,Int_t cpn0,Int_t cpn1,
65 Int_t cpn2)const;
66 // find module number by layer, and copy numbers
67 void RecodeDetectorvUpgrade(Int_t mod,Int_t &cpn0,Int_t &cpn1,
68 Int_t &cpn2);
69 // Given module number, find copy numbers.
70 void DecodeDetectorLayersvUpgrade(Int_t mod,Int_t &lay,Int_t &lad,
71 Int_t &det);
72
73 // Virtual MC code
74 Bool_t InitAliITSgeomV11(AliITSgeom *geom);
75 Bool_t InitAliITSgeomVUpgrade(AliITSgeom *geom);
76 Bool_t GetTransformation(const TString &volumePath,TGeoHMatrix &mat);
77 Bool_t GetShape(const TString &volumePath,TString &shapeType,TArrayD &par);
78 void TransposeTGeoHMatrix(TGeoHMatrix *m) const;
79
80 TString fName; // Geometry name
29998a6e 81 Bool_t fTiming; // Flag to start inilization timing
29998a6e 82 Int_t fDebug; // Debug flag
83
451f5018 84 ClassDef(AliITSUInitGeometry,0) // create/Init AliITSgeom
29998a6e 85 // 0 in ClassDef indicates that this class will not be "saved" in a file.
86};
87
88#endif
89