]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSAlignMilleModule.h
Fix for ESD analysis
[u/mrichter/AliRoot.git] / ITS / AliITSAlignMilleModule.h
index c7692994e0f998bbaf6117f142c1216f7ef92a95..b5594f60ce2566666620ed7b863bee13d681ef37 100644 (file)
@@ -14,7 +14,6 @@
 //#include <TObject.h> 
 #include <TNamed.h> 
 
-#define ITSMILLE_NSENSVOL    2198
 
 class AliAlignObjParams; 
 class TGeoHMatrix; 
@@ -24,7 +23,7 @@ class AliITSAlignMilleModule : public TNamed
 public: 
   AliITSAlignMilleModule(); 
   AliITSAlignMilleModule(UShort_t volid); // basic single volume constructor
-  AliITSAlignMilleModule(Int_t index, UShort_t volid, char* symname, TGeoHMatrix *m, Int_t nsv=0, UShort_t *volidsv=NULL); // general 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);  
@@ -36,9 +35,9 @@ public:
   UShort_t  GetVolumeID() const {return fVolumeID;}  
   Int_t     GetNSensitiveVolumes() const {return fNSensVol;} 
   TGeoHMatrix *GetMatrix() const {return fMatrix;} 
-  UShort_t *GetSensitiveVolumeVolumeID() {return fSensVolVolumeID;}
+  const UShort_t *GetSensitiveVolumeVolumeID() const {return fSensVolVolumeID;}
 
-  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
+  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);
@@ -49,9 +48,13 @@ public:
   Bool_t    IsIn(UShort_t volid) const;
   TGeoHMatrix *GetSensitiveVolumeMatrix(UShort_t voluid);
   TGeoHMatrix *GetSensitiveVolumeOrigGlobalMatrix(UShort_t voluid);
-  TGeoHMatrix *GetSensitiveVolumeModifiedMatrix(UShort_t voluid, Double_t *deltalocal); 
-  AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, AliAlignObjParams *a); 
-  AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, Double_t *deltalocal); 
+  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:
@@ -60,12 +63,13 @@ protected:
   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[ITSMILLE_NSENSVOL]; ///
-  UShort_t       fSensVolVolumeID[ITSMILLE_NSENSVOL]; ///
+  Int_t          fSensVolIndex[fgkSensModules]; ///
+  UShort_t       fSensVolVolumeID[fgkSensModules]; ///
   TGeoHMatrix   *fMatrix; /// ideal TGeoHMatrix of the supermodule
   TGeoHMatrix   *fSensVolMatrix; ///
   TGeoHMatrix   *fSensVolModifMatrix; ///