1 #ifndef ALIITSVPPRASYMMFMD_H
2 #define ALIITSVPPRASYMMFMD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 /////////////////////////////////////////////////////////
9 // Manager and hits classes for set: ITS version 10 //
10 /////////////////////////////////////////////////////////
14 class AliITSvPPRasymmFMD : public AliITS {
18 AliITSvPPRasymmFMD(const char *name, const char *title);
19 AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source); // copy constructor
20 AliITSvPPRasymmFMD& operator=(const AliITSvPPRasymmFMD &source); // assignment operator
21 virtual ~AliITSvPPRasymmFMD() ;
22 virtual void BuildGeometry();
23 virtual void CreateGeometry();
24 virtual void CreateMaterials();
25 virtual Int_t IsVersion() const {// returns the ITS version number
28 virtual void SetDefaults();
29 virtual void DrawModule() const;
30 virtual void StepManager();
31 virtual void AddAlignableVolumes() const;
32 virtual void SetWriteDet(Bool_t det=kFALSE){ // set .det write
34 virtual void SetWriteDet(const char *f){ // set write file
35 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
36 virtual void SetReadDet(Bool_t det=kFALSE){ //set .det read
38 virtual void SetReadDet(const char *f){ // set read file
39 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
40 virtual void SetEUCLIDFileName(const char *f){ // set write file
41 fEuclidGeometry=f; SetEUCLID();}
42 virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
44 virtual void SetThicknessDet1(Float_t v=200.){
45 // Set detector thickness in layer 1
47 virtual void SetThicknessDet2(Float_t v=200.){
48 // Set detector thickness in layer 2
50 virtual void SetThicknessChip1(Float_t v=150.){
51 // Set chip thickness in layer 1
53 virtual void SetThicknessChip2(Float_t v=150.){
54 // Set chip thickness in layer 2
56 virtual void SetRails(Int_t v=0){
59 virtual void SetCoolingFluid(Int_t v=1){
60 // Set flag for cooling fluid
62 virtual void SetDensityServicesByThickness(){// uses services density
63 // calculation based on the thickness of the services.
65 virtual void SetDensityServicesByMass(){// uses services density
66 // calculation based on the Mass of the services.
68 virtual const char *GetEULIIDFileName() const{ // return .euc file name
69 return fEuclidGeometry.Data();}
70 virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
72 virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
74 virtual char *GetReadDetFileName(){ // return .det read file name
75 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
76 virtual char *GetWriteDetFileName(){ // return .det write file name
77 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
78 virtual Int_t GetMajorVersion() const {// return Major Version Number
79 return fMajorVersion;}
80 virtual Int_t GetMinorVersion() const {// return Major Version Number
81 return fMinorVersion;}
82 virtual Float_t GetThicknessDet1() const {
83 // Get detector thickness in layer 1
85 virtual Float_t GetThicknessDet2() const {
86 // Get detector thickness in layer 2
88 virtual Float_t GetThicknessChip1() const {
89 // Get chip thickness in layer 1
91 virtual Float_t GetThicknessChip2()const {
92 // Get chip thickness in layer 2
94 virtual Int_t GetRails() const {
97 virtual Int_t GetCoolingFluid() const{
98 // Get flag for cooling fluid
102 void InitAliITSgeom();
104 // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
105 Bool_t fGeomDetOut; // Flag to write .det file out
106 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
107 Bool_t fByThick; // Flag to use services materials by thickness
108 // ture, or mass false.
109 Int_t fMajorVersion; // Major version number == IsVersion
110 Int_t fMinorVersion; // Minor version number
111 char fEuclidGeomDet[60];// file where detector transormation are define.
112 char fRead[60]; //! file name to read .det file
113 char fWrite[60]; //! file name to write .det file
114 Float_t fDet1; // thickness of detector in SPD layer 1
115 Float_t fDet2; // thickness of detector in SPD layer 2
116 Float_t fChip1; // thickness of chip in SPD layer 1
117 Float_t fChip2; // thickness of chip in SPD layer 2
118 Int_t fRails; // flag to switch rails on (=1) and off (=0)
119 Int_t fFluid; // flag to switch between water (=1) and freon (=0)
120 Int_t fIDMother; //! ITS Mother Volume id.
122 ClassDef(AliITSvPPRasymmFMD,3) //Hits manager for set:ITS version 8
123 // PPR detailed Geometry asymmetric