]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONGeometryMisAligner.h
- Added handling of tracks and file mask (used when merging different files).
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryMisAligner.h
CommitLineData
21dd83fc 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
5
6/// \ingroup geometry
7/// \class AliMUONGeometryMisAligner
8/// \brief Class for misalignment of geometry transformations
9///
10/// Author: Bruce Becker
11
12
13#ifndef ALI_MUON_GEOMETRY_MIS_ALIGNER_H
14#define ALI_MUON_GEOMETRY_MIS_ALIGNER_H
15
16#include <TObject.h>
17#include <TGeoMatrix.h>
21dd83fc 18
19class AliMUONGeometryTransformer;
20
ef79ed3a 21class TRandom;
22
21dd83fc 23class AliMUONGeometryMisAligner:public TObject
24{
25 public:
26 AliMUONGeometryMisAligner(Double_t cartMisAlig, Double_t angMisAlig);
27 AliMUONGeometryMisAligner();
28 virtual ~AliMUONGeometryMisAligner();
29
30 //_________________________________________________________________
31 // methods
32
33 // return a misaligned geometry obtained from the existing one.
ef79ed3a 34 AliMUONGeometryTransformer* MisAlign(const AliMUONGeometryTransformer* transformer,
35 Bool_t verbose = kFALSE);
21dd83fc 36
21dd83fc 37 void SetMaxCartMisAlig(Double_t offset)
38 {fMaxCartMisAlig = offset ;}
39
40 void SetMaxAngMisAlig(Double_t offset)
41 {fMaxAngMisAlig = offset;}
42
43 void SetXYAngMisAligFactor(Double_t factor);
44
45
46 protected:
47 AliMUONGeometryMisAligner(const AliMUONGeometryMisAligner & right);
48 AliMUONGeometryMisAligner & operator =(const AliMUONGeometryMisAligner &right);
49
50 private:
ef79ed3a 51 // return a misaligned transformation
52 TGeoCombiTrans MisAlign(const TGeoCombiTrans& transform) const;
53
21dd83fc 54 Double_t fMaxCartMisAlig; // cartesian displacement range, set by SetMaxCartMisAlig (translations)
55 Double_t fMaxAngMisAlig; // Angular displacement range (rotations)
56 Double_t fXYAngMisAligFactor; // factor (<1) to apply to angular misalignment range since range of motion is restricted out of the xy plane
57 TRandom *fDisplacementGenerator; // random number generator for the displacements
58
59 ClassDef(AliMUONGeometryMisAligner,2) // Geometry parametrisation
60};
61
62#endif //ALI_MUON_GEOMETRY_MIS_ALIGNER_H
63
64
65
66