Updates to AddTask macro from Chris
[u/mrichter/AliRoot.git] / MUON / AliMUONSurveyChamber.h
1 #ifndef ALIMUONSURVEYCHAMBER_H
2 #define ALIMUONSURVEYCHAMBER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /// \ingroup geometry
7 /// \class AliMUONSurveyChamber
8 /// \brief Class for survey of chambers (frames) of the muon spectrometer
9 //
10 // Authors: Javier Castillo
11
12 #include "AliMUONSurveyObj.h"
13
14 class TClonesArray;
15 class TH2;
16
17 class AliSurveyObj;
18
19 class AliMUONSurveyDetElem;
20
21 class AliMUONSurveyChamber: public AliMUONSurveyObj
22 {
23
24  public:
25   AliMUONSurveyChamber(Int_t lChamberId);
26   virtual ~AliMUONSurveyChamber();
27
28   virtual Int_t AddStickerTargets(TString stBaseName, Int_t lTargetMax = 9);
29   virtual Int_t AddGButtonTargets(TString btBaseName, Int_t lTargetMax = 9);
30
31   
32   virtual Int_t AddStickerTargets(TObjArray *pArray, TString stBaseName, Int_t lTargetMax = 9);
33   virtual Int_t AddGButtonTargets(TObjArray *pArray, TString btBaseName, Int_t lTargetMax = 9);
34  
35   Int_t AddSurveyDetElem(Int_t lDetElemId);
36   /// Returns the number od detection elements of the chamber
37   Int_t GetNDetElem() const  {return fNDetElem;}
38   AliMUONSurveyDetElem* GetDetElem(Int_t lDetElemIndex);
39   /// Returns the internal AliSurveyObj
40   AliSurveyObj* GetSurveyObj() const {return fSurveyObj;}
41
42   virtual void SetLocalTransformation(TGeoCombiTrans *localTrf, Bool_t ownerLocalTrf = kFALSE);
43
44   void PrintSurveyReport();
45
46   void FillCPSTHistograms(TString baseNameC, TH2 *hCPSTc, TString baseNameA="", TH2 *hCPSTa = 0);
47   void FillDESTHistograms(TString baseNameC, TH2 *hCPSTc, TString baseNameA="", TH2 *hCPSTa = 0);
48
49   Double_t GetMeanDetElemAlignResX(); 
50   Double_t GetMeanDetElemAlignResY(); 
51
52  private:
53   /// Not implemented
54   AliMUONSurveyChamber(const AliMUONSurveyChamber& right);
55   /// Not implemented
56   AliMUONSurveyChamber&  operator = (const AliMUONSurveyChamber& right);
57
58   Int_t fChamberId;    ///< Chamber Id
59   Int_t fNDetElem;     ///< Number of detection elements
60
61   AliSurveyObj *fSurveyObj;     ///< Survey object containing the measurment
62   TClonesArray *fSurveyDetElem; ///< Array of AliMUONSurveyDetElem
63
64 ClassDef(AliMUONSurveyChamber, 0) //Class for survey of muon spectrometer chambers
65 };
66
67 #endif