1 // **************************************************************************
2 // * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 // * Author: The ALICE Off-line Project. *
5 // * Contributors are mentioned in the code where appropriate. *
7 // * Permission to use, copy, modify and distribute this software and its *
8 // * documentation strictly for non-commercial purposes is hereby granted *
9 // * without fee, provided that the above copyright notice appears in all *
10 // * copies and that both the copyright notice and this permission notice *
11 // * appear in the supporting documentation. The authors make no claims *
12 // * about the suitability of this software for any purpose. It is *
13 // * provided "as is" without express or implied warranty. *
14 // **************************************************************************
16 #include "AliRICHChamber.h"
17 #include <TRotMatrix.h>
19 ClassImp(AliRICHChamber)
20 //______________________________________________________________________________
21 AliRICHChamber::AliRICHChamber(Int_t iChamber):TNamed()
23 //main ctor. Defines all geometry parameters for the given module.
24 SetToZenith();//put to up position
27 RotateX(-AliRICHParam::AngleYZ());
28 RotateZ(-AliRICHParam::AngleXY());
29 fName="RICHc1";fTitle="RICH chamber 1";
32 RotateZ(-AliRICHParam::AngleXY());
33 fName="RICHc2";fTitle="RICH chamber 2";
36 RotateX(-AliRICHParam::AngleYZ());
37 fName="RICHc3";fTitle="RICH chamber 3";
40 fName="RICHc4";fTitle="RICH chamber 4"; //no turns
43 RotateX(AliRICHParam::AngleYZ());
44 fName="RICHc5";fTitle="RICH chamber 5";
47 RotateZ(AliRICHParam::AngleXY());
48 fName="RICHc6";fTitle="RICH chamber 6";
51 RotateX(AliRICHParam::AngleYZ());
52 RotateZ(AliRICHParam::AngleXY());
53 fName="RICHc7";fTitle="RICH chamber 7";
56 Fatal("named ctor","Wrong chamber number %i, check CreateChamber ctor",iChamber);
58 RotateZ(AliRICHParam::AngleRot());//apply common rotation
59 fpRotMatrix=new TRotMatrix("rot"+fName,"rot"+fName, Rot().ThetaX()*TMath::RadToDeg(), Rot().PhiX()*TMath::RadToDeg(),
60 Rot().ThetaY()*TMath::RadToDeg(), Rot().PhiY()*TMath::RadToDeg(),
61 Rot().ThetaZ()*TMath::RadToDeg(), Rot().PhiZ()*TMath::RadToDeg());
63 //__________________________________________________________________________________________________
64 void AliRICHChamber::Print(Option_t *opt) const
67 // printf("%s r=%8.3f theta=%5.1f phi=%5.1f x=%8.3f y=%8.3f z=%8.3f %6.2f,%6.2f %6.2f,%6.2f %6.2f,%6.2f\n",fName.Data(),
68 // Rho(), ThetaD(),PhiD(), X(), Y(), Z(),
69 // ThetaXd(),PhiXd(),ThetaYd(),PhiYd(),ThetaZd(),PhiZd());
70 fCenterV3.Print(opt);fPcX3.Print(opt);
72 //__________________________________________________________________________________________________