-#ifndef ALIITSALIGNMILLEMODULE_H\r
-#define ALIITSALIGNMILLEMODULE_H \r
-/* Copyright(c) 2007-2009 , ALICE Experiment at CERN, All rights reserved. * \r
- * See cxx source for full Copyright notice */ \r
- \r
-/// \ingroup rec \r
-/// \class AliITSAlignMilleModule \r
-/// \brief Class for alignment of ITS \r
-// \r
-// Authors: Marcello Lunardon \r
-\r
-/* $Id$ */ \r
-//#include <TString.h> \r
-//#include <TObject.h> \r
-#include <TNamed.h> \r
-\r
-#define ITSMILLE_NSENSVOL 2198\r
-\r
-class AliAlignObjParams; \r
-class TGeoHMatrix; \r
-\r
-class AliITSAlignMilleModule : public TNamed \r
-{ \r
-public: \r
- AliITSAlignMilleModule(); \r
- AliITSAlignMilleModule(UShort_t volid); // basic single volume constructor\r
- AliITSAlignMilleModule(Int_t index, UShort_t volid, char* symname, TGeoHMatrix *m, Int_t nsv=0, UShort_t *volidsv=NULL); // general constructor\r
-\r
- AliITSAlignMilleModule(const AliITSAlignMilleModule& rhs); // copy constructor\r
- AliITSAlignMilleModule& operator=(const AliITSAlignMilleModule& rhs); \r
- \r
- virtual ~AliITSAlignMilleModule(); \r
- \r
- // geometry methods \r
- Int_t GetIndex() const {return fIndex;} \r
- UShort_t GetVolumeID() const {return fVolumeID;} \r
- Int_t GetNSensitiveVolumes() const {return fNSensVol;} \r
- TGeoHMatrix *GetMatrix() const {return fMatrix;} \r
- UShort_t *GetSensitiveVolumeVolumeID() {return fSensVolVolumeID;}\r
-\r
- Int_t Set(Int_t index, UShort_t volid, char* symname, TGeoHMatrix *m, Int_t nsv=0, UShort_t *volidsv=NULL); // initialize a super module\r
- \r
- // util\r
- static Int_t GetIndexFromVolumeID(UShort_t volid);\r
- static UShort_t GetVolumeIDFromSymname(const Char_t *symname);\r
- static UShort_t GetVolumeIDFromIndex(Int_t index);\r
-\r
- // methods\r
- Bool_t IsIn(UShort_t volid) const;\r
- TGeoHMatrix *GetSensitiveVolumeMatrix(UShort_t voluid);\r
- TGeoHMatrix *GetSensitiveVolumeOrigGlobalMatrix(UShort_t voluid);\r
- TGeoHMatrix *GetSensitiveVolumeModifiedMatrix(UShort_t voluid, Double_t *deltalocal); \r
- AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, AliAlignObjParams *a); \r
- AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, Double_t *deltalocal); \r
- void Print(Option_t*) const; \r
-\r
-protected:\r
- Int_t SensVolMatrix(UShort_t volid, TGeoHMatrix *m); \r
- Int_t SensVolOrigGlobalMatrix(UShort_t volid, TGeoHMatrix *m); \r
- void AddSensitiveVolume(UShort_t volid);\r
-\r
-private:\r
- Int_t fNSensVol; ///\r
- Int_t fIndex; ///\r
- UShort_t fVolumeID; ///\r
- // il symname e' il nome del TNamed...\r
- Int_t fSensVolIndex[ITSMILLE_NSENSVOL]; ///\r
- UShort_t fSensVolVolumeID[ITSMILLE_NSENSVOL]; ///\r
- TGeoHMatrix *fMatrix; /// ideal TGeoHMatrix of the supermodule\r
- TGeoHMatrix *fSensVolMatrix; ///\r
- TGeoHMatrix *fSensVolModifMatrix; ///\r
- AliAlignObjParams *fTempAlignObj; ///\r
- \r
- ClassDef(AliITSAlignMilleModule, 0)\r
-\r
-}; \r
-\r
-#endif \r
+#ifndef ALIITSALIGNMILLEMODULE_H
+#define ALIITSALIGNMILLEMODULE_H
+/* Copyright(c) 2007-2009 , ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/// \ingroup rec
+/// \class AliITSAlignMilleModule
+/// \brief Class for alignment of ITS
+//
+// Authors: Marcello Lunardon
+
+/* $Id$ */
+//#include <TString.h>
+//#include <TObject.h>
+#include <TNamed.h>
+
+
+class AliAlignObjParams;
+class TGeoHMatrix;
+
+class AliITSAlignMilleModule : public TNamed
+{
+public:
+ AliITSAlignMilleModule();
+ AliITSAlignMilleModule(UShort_t volid); // basic single volume constructor
+ AliITSAlignMilleModule(Int_t index, UShort_t volid, char* symname, const TGeoHMatrix *m, Int_t nsv=0, const UShort_t *volidsv=NULL); // general constructor
+
+ AliITSAlignMilleModule(const AliITSAlignMilleModule& rhs); // copy constructor
+ AliITSAlignMilleModule& operator=(const AliITSAlignMilleModule& rhs);
+
+ virtual ~AliITSAlignMilleModule();
+
+ // geometry methods
+ Int_t GetIndex() const {return fIndex;}
+ UShort_t GetVolumeID() const {return fVolumeID;}
+ Int_t GetNSensitiveVolumes() const {return fNSensVol;}
+ TGeoHMatrix *GetMatrix() const {return fMatrix;}
+ const UShort_t *GetSensitiveVolumeVolumeID() const {return fSensVolVolumeID;}
+
+ Int_t Set(Int_t index, UShort_t volid, char* symname, const TGeoHMatrix * const m, Int_t nsv=0, const UShort_t *volidsv=NULL); // initialize a super module
+
+ // util
+ static Int_t GetIndexFromVolumeID(UShort_t volid);
+ static UShort_t GetVolumeIDFromSymname(const Char_t *symname);
+ static UShort_t GetVolumeIDFromIndex(Int_t index);
+
+ // methods
+ Bool_t IsIn(UShort_t volid) const;
+ TGeoHMatrix *GetSensitiveVolumeMatrix(UShort_t voluid);
+ TGeoHMatrix *GetSensitiveVolumeOrigGlobalMatrix(UShort_t voluid);
+ TGeoHMatrix *GetSensitiveVolumeModifiedMatrix(UShort_t voluid, const Double_t * const deltalocal);
+ AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, const AliAlignObjParams *a);
+ AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, const Double_t * const deltalocal);
+ // forse non serve...
+ AliAlignObjParams *GetSensitiveVolumeGlobalMisalignment(UShort_t voluid, const Double_t * const deltalocal);
+ // mo' proviamo questo
+ AliAlignObjParams *GetSensitiveVolumeTotalMisalignment(UShort_t voluid, const Double_t * const deltalocal);
+ void Print(Option_t*) const;
+
+protected:
+ Int_t SensVolMatrix(UShort_t volid, TGeoHMatrix *m);
+ Int_t SensVolOrigGlobalMatrix(UShort_t volid, TGeoHMatrix *m);
+ void AddSensitiveVolume(UShort_t volid);
+
+private:
+ static const Int_t fgkSensModules = 2198; // number of sensors
+ Int_t fNSensVol; ///
+ Int_t fIndex; ///
+ UShort_t fVolumeID; ///
+ // il symname e' il nome del TNamed...
+ Int_t fSensVolIndex[fgkSensModules]; ///
+ UShort_t fSensVolVolumeID[fgkSensModules]; ///
+ TGeoHMatrix *fMatrix; /// ideal TGeoHMatrix of the supermodule
+ TGeoHMatrix *fSensVolMatrix; ///
+ TGeoHMatrix *fSensVolModifMatrix; ///
+ AliAlignObjParams *fTempAlignObj; ///
+
+ ClassDef(AliITSAlignMilleModule, 0)
+
+};
+
+#endif