* full copyright notice. *
**************************************************************************/
-#ifndef ALIEVE_ITSDigitsInfo_H
-#define ALIEVE_ITSDigitsInfo_H
+#ifndef AliEveITSDigitsInfo_H
+#define AliEveITSDigitsInfo_H
#include <TEveUtil.h>
+#include <TObject.h>
#include <map>
#include <vector>
-#include <TObject.h>
-#include <TClonesArray.h>
-#include <TTree.h>
+class TClonesArray;
+class TTree;
-class AliITSgeom;
class AliITSsegmentationSPD;
class AliITSsegmentationSDD;
class AliITSsegmentationSSD;
/******************************************************************************/
// AliEveITSModuleSelection
/******************************************************************************/
+
class AliEveITSModuleSelection
{
-protected:
- Int_t fType; // Type of modules: 0 - SPD, 1 - SDD, 2 - SSD.
- Int_t fLayer; // Layer, 0 - inner SPD, 5 - outer SSD.
- Float_t fMinPhi; // Min phi.
- Float_t fMaxPhi; // Max phi.
- Float_t fMinTheta; // Min theta.
- Float_t fMaxTheta; // Max theta.
-
public:
AliEveITSModuleSelection();
virtual ~AliEveITSModuleSelection() {}
void SetPhiRange (Float_t x, Float_t y) { fMinPhi = x; fMaxPhi = y; }
void SetThetaRange(Float_t x, Float_t y) { fMinTheta = x; fMaxTheta = y; }
- ClassDef(AliEveITSModuleSelection, 1); // Helper for selecting a range of ITS modules by type, layer, phi and theta.
+protected:
+ Int_t fType; // Type of modules: 0 - SPD, 1 - SDD, 2 - SSD.
+ Int_t fLayer; // Layer, 0 - inner SPD, 5 - outer SSD.
+ Float_t fMinPhi; // Min phi.
+ Float_t fMaxPhi; // Max phi.
+ Float_t fMinTheta; // Min theta.
+ Float_t fMaxTheta; // Max theta.
+
+ ClassDef(AliEveITSModuleSelection, 0); // Helper for selecting a range of ITS modules by type, layer, phi and theta.
};
+
/******************************************************************************/
// AliEveITSDigitsInfo
/******************************************************************************/
class AliEveITSDigitsInfo : public TObject, public TEveRefCnt
{
- AliEveITSDigitsInfo(const AliEveITSDigitsInfo&); // Not implemented
- AliEveITSDigitsInfo& operator=(const AliEveITSDigitsInfo&); // Not implemented
-
-private:
- Float_t fSPDZCoord[192]; // Precalculated z-coordinates for positions of digits.
-
- void InitInternals();
-
-protected:
- std::map<Int_t, TClonesArray*> fSPDmap; // Map from module-id to SPD data.
- std::map<Int_t, TClonesArray*> fSDDmap; // Map from module-id to SDD data.
- std::map<Int_t, TClonesArray*> fSSDmap; // Map from module-id to SSD data.
-
- void SetITSSegmentation();
-
public:
TTree* fTree; // Tree from which the digits are read.
- AliITSgeom* fGeom; // Provides mapping from module-id to transforamtion-matrix.
AliITSsegmentationSPD* fSegSPD; // Segmentation of SPD.
AliITSsegmentationSDD* fSegSDD; // Segmentation of SDD.
AliITSsegmentationSSD* fSegSSD; // Segmentation of SSD.
- AliITSDDLModuleMapSDD* fDDLMapSDD; // Mapping DDL/module to SDD-module number.
- Int_t fSPDMinVal; // Default lower limit for display of SPD digits.
- Int_t fSSDMinVal; // Default lower limit for display of SSD digits.
- Int_t fSDDMinVal; // Default lower limit for display of SDD digits.
- Int_t fSPDMaxVal; // Default high limit for display of SPD digits.
- Int_t fSSDMaxVal; // Default high limit for display of SSD digits.
- Int_t fSDDMaxVal; // Default high limit for display of SDD digits.
+ Int_t fSPDMinVal; // Default low limit for display of SPD digits.
+ Int_t fSSDMinVal; // Default low limit for display of SSD digits.
+ Int_t fSDDMinVal; // Default low limit for display of SDD digits.
+ Int_t fSPDMaxVal; // Default high limit for display of SPD digits.
+ Int_t fSSDMaxVal; // Default high limit for display of SSD digits.
+ Int_t fSDDMaxVal; // Default high limit for display of SDD digits.
Int_t fSPDHighLim; // Maximum value of SPD digits.
Int_t fSDDHighLim; // Maximum value of SDD digits.
Int_t fSDDScaleZ[5]; // SDD cell-sizes along Z for display of scaled-digits.
Int_t fSSDScale [5]; // SSD cell-sizes for display of scaled-digits.
+ static AliITSDDLModuleMapSDD *fgDDLMapSDD; // Mapping DDL/module to SDD-module number.
+
+ static TObjArray *fgDeadModSPD; // Dead modules of SPD.
+ static TObjArray *fgDeadModSDD; // Dead modules of SDD.
+ static TObjArray *fgDeadModSSD; // Dead modules of SSD.
+
AliEveITSDigitsInfo();
virtual ~AliEveITSDigitsInfo();
void SetTree(TTree* tree);
void ReadRaw(AliRawReader* raw, Int_t mode);
- TClonesArray* GetDigits(Int_t moduleID, Int_t detector);
+ TClonesArray* GetDigits(Int_t moduleID, Int_t detector) const;
+
+ void GetSPDLocalZ(Int_t j, Float_t& z) const;
- void GetSPDLocalZ(Int_t j, Float_t& z);
+ void GetModuleIDs(AliEveITSModuleSelection* sel, std::vector<UInt_t>& ids) const;
- void GetModuleIDs(AliEveITSModuleSelection* sel, std::vector<UInt_t>& ids);
+ Bool_t HasData(Int_t module, Int_t det_id) const;
+ Bool_t IsDead (Int_t module, Int_t det_id) const;
virtual void Print(Option_t* opt="") const;
+protected:
+ mutable std::map<Int_t, TClonesArray*> fSPDmap; // Map from module-id to SPD data.
+ mutable std::map<Int_t, TClonesArray*> fSDDmap; // Map from module-id to SDD data.
+ mutable std::map<Int_t, TClonesArray*> fSSDmap; // Map from module-id to SSD data.
+
+ void SetITSSegmentation();
+
+private:
+ Float_t fSPDZCoord[192]; // Precalculated z-coordinates for positions of digits.
+
+ void InitInternals();
+
+ AliEveITSDigitsInfo(const AliEveITSDigitsInfo&); // Not implemented
+ AliEveITSDigitsInfo& operator=(const AliEveITSDigitsInfo&); // Not implemented
+
ClassDef(AliEveITSDigitsInfo, 0); // Stores ITS geometry information and event-data in format suitable for visualization.
-}; // endclass AliEveITSDigitsInfo
+};
-inline void AliEveITSDigitsInfo::GetSPDLocalZ(Int_t j, Float_t& z)
+inline void AliEveITSDigitsInfo::GetSPDLocalZ(Int_t j, Float_t& z) const
{
z = fSPDZCoord[j];
}