#ifndef ALIITSALIGNMILLEMODULE_H
#define ALIITSALIGNMILLEMODULE_H
#include <TNamed.h>
class AliAlignObjParams;
class TGeoHMatrix;
class AliITSAlignMilleModule : public TNamed
{
public:
AliITSAlignMilleModule();
AliITSAlignMilleModule(UShort_t volid);
AliITSAlignMilleModule(Int_t index, UShort_t volid, char* symname, const TGeoHMatrix *m, Int_t nsv=0, const UShort_t *volidsv=NULL);
AliITSAlignMilleModule(const AliITSAlignMilleModule& rhs);
AliITSAlignMilleModule& operator=(const AliITSAlignMilleModule& rhs);
virtual ~AliITSAlignMilleModule();
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);
static Int_t GetIndexFromVolumeID(UShort_t volid);
static UShort_t GetVolumeIDFromSymname(const Char_t *symname);
static UShort_t GetVolumeIDFromIndex(Int_t index);
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);
AliAlignObjParams *GetSensitiveVolumeGlobalMisalignment(UShort_t voluid, const Double_t * const deltalocal);
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;
Int_t fNSensVol;
Int_t fIndex;
UShort_t fVolumeID;
Int_t fSensVolIndex[fgkSensModules];
UShort_t fSensVolVolumeID[fgkSensModules];
TGeoHMatrix *fMatrix;
TGeoHMatrix *fSensVolMatrix;
TGeoHMatrix *fSensVolModifMatrix;
AliAlignObjParams *fTempAlignObj;
ClassDef(AliITSAlignMilleModule, 0)
};
#endif
AliITSAlignMilleModule.h:1 AliITSAlignMilleModule.h:2 AliITSAlignMilleModule.h:3 AliITSAlignMilleModule.h:4 AliITSAlignMilleModule.h:5 AliITSAlignMilleModule.h:6 AliITSAlignMilleModule.h:7 AliITSAlignMilleModule.h:8 AliITSAlignMilleModule.h:9 AliITSAlignMilleModule.h:10 AliITSAlignMilleModule.h:11 AliITSAlignMilleModule.h:12 AliITSAlignMilleModule.h:13 AliITSAlignMilleModule.h:14 AliITSAlignMilleModule.h:15 AliITSAlignMilleModule.h:16 AliITSAlignMilleModule.h:17 AliITSAlignMilleModule.h:18 AliITSAlignMilleModule.h:19 AliITSAlignMilleModule.h:20 AliITSAlignMilleModule.h:21 AliITSAlignMilleModule.h:22 AliITSAlignMilleModule.h:23 AliITSAlignMilleModule.h:24 AliITSAlignMilleModule.h:25 AliITSAlignMilleModule.h:26 AliITSAlignMilleModule.h:27 AliITSAlignMilleModule.h:28 AliITSAlignMilleModule.h:29 AliITSAlignMilleModule.h:30 AliITSAlignMilleModule.h:31 AliITSAlignMilleModule.h:32 AliITSAlignMilleModule.h:33 AliITSAlignMilleModule.h:34 AliITSAlignMilleModule.h:35 AliITSAlignMilleModule.h:36 AliITSAlignMilleModule.h:37 AliITSAlignMilleModule.h:38 AliITSAlignMilleModule.h:39 AliITSAlignMilleModule.h:40 AliITSAlignMilleModule.h:41 AliITSAlignMilleModule.h:42 AliITSAlignMilleModule.h:43 AliITSAlignMilleModule.h:44 AliITSAlignMilleModule.h:45 AliITSAlignMilleModule.h:46 AliITSAlignMilleModule.h:47 AliITSAlignMilleModule.h:48 AliITSAlignMilleModule.h:49 AliITSAlignMilleModule.h:50 AliITSAlignMilleModule.h:51 AliITSAlignMilleModule.h:52 AliITSAlignMilleModule.h:53 AliITSAlignMilleModule.h:54 AliITSAlignMilleModule.h:55 AliITSAlignMilleModule.h:56 AliITSAlignMilleModule.h:57 AliITSAlignMilleModule.h:58 AliITSAlignMilleModule.h:59 AliITSAlignMilleModule.h:60 AliITSAlignMilleModule.h:61 AliITSAlignMilleModule.h:62 AliITSAlignMilleModule.h:63 AliITSAlignMilleModule.h:64 AliITSAlignMilleModule.h:65 AliITSAlignMilleModule.h:66 AliITSAlignMilleModule.h:67 AliITSAlignMilleModule.h:68 AliITSAlignMilleModule.h:69 AliITSAlignMilleModule.h:70 AliITSAlignMilleModule.h:71 AliITSAlignMilleModule.h:72 AliITSAlignMilleModule.h:73 AliITSAlignMilleModule.h:74 AliITSAlignMilleModule.h:75 AliITSAlignMilleModule.h:76 AliITSAlignMilleModule.h:77 AliITSAlignMilleModule.h:78 AliITSAlignMilleModule.h:79 AliITSAlignMilleModule.h:80 AliITSAlignMilleModule.h:81 AliITSAlignMilleModule.h:82