DigitScaled info owned by ITSModuleStepper.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Mar 2007 17:42:05 +0000 (17:42 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Mar 2007 17:42:05 +0000 (17:42 +0000)
EVE/Alieve/ITSModuleStepper.cxx
EVE/Alieve/ITSModuleStepper.h
EVE/Alieve/ITSScaledModule.cxx
EVE/Alieve/ITSScaledModule.h
EVE/Alieve/ITSScaledModuleEditor.cxx

index b1fb90d..0252808 100644 (file)
@@ -32,6 +32,7 @@ ITSModuleStepper::ITSModuleStepper(ITSDigitsInfo* di):
     TNamed("ITS 2DStore", "ITSModuleStepper"),   
 
     fDigitsInfo(di),
+    fScaleInfo(0),
     fStepper(0),
     fExpand(0.85),
 
@@ -39,19 +40,23 @@ ITSModuleStepper::ITSModuleStepper(ITSDigitsInfo* di):
 
     fWCorner(PT_BottomLeft),
     fWWidth(0.05),
-    fWHeight(0.07)
+    fWHeight(0.2)
 {
   fStepper = new GridStepper();
+  
+  fScaleInfo = new DigitScaleInfo();
 
-  fWColor = 5;
+   fWColor = 5;
 
-  GLTextNS::LoadDefaultFont(Form("%s/icons/fontdefault.txf",gSystem->Getenv("REVESYS")));
+   //  GLTextNS::LoadDefaultFont(Form("%s/icons/fontdefault.txf",gSystem->Getenv("REVESYS")));
+  GLTextNS::LoadDefaultFont(Form("%s/icons/fonthelvetica34.txf",gSystem->Getenv("REVESYS")));
 }
 
 /**************************************************************************/
 ITSModuleStepper::~ITSModuleStepper()
 {
   delete fStepper;
+  delete fScaleInfo;
 }
 
 /**************************************************************************/
@@ -64,7 +69,7 @@ void ITSModuleStepper::SetStepper(Int_t nx, Int_t ny, Float_t dx, Float_t dy)
   Int_t nmod = nx*ny;
   for(Int_t m = 0; m<nmod; m++) 
   {
-    AddElement( new ITSScaledModule(m, fDigitsInfo));
+    AddElement( new ITSScaledModule(m, fDigitsInfo, fScaleInfo));
   }
 
   if(dx > 0 && dy > 0)
index 865a443..a4f2661 100644 (file)
@@ -16,6 +16,7 @@
 namespace Alieve {
 
 class ITSDigitsInfo;
+class DigitScaleInfo;
 
 class ITSModuleStepper : public Reve::RenderElement, 
                          public TNamed,
@@ -36,6 +37,8 @@ private:
 
 protected:
   ITSDigitsInfo*          fDigitsInfo;
+  DigitScaleInfo*         fScaleInfo;
+
   Reve::GridStepper*      fStepper;  
  
   Float_t                 fExpand;
index 2512b73..bc8a0aa 100644 (file)
@@ -9,8 +9,6 @@
 using namespace Reve;
 using namespace Alieve;
 
-DigitScaleInfo*  ITSScaledModule::fgDigitScaleInfo = 0;
-
 //______________________________________________________________________
 // DigitScaleInfo
 //
@@ -65,21 +63,17 @@ void ScaledDigit::Dump() const
 
 ClassImp(ITSScaledModule)
 
-ITSScaledModule::ITSScaledModule(Int_t gid, ITSDigitsInfo* info):
+  ITSScaledModule::ITSScaledModule(Int_t gid, ITSDigitsInfo* info, DigitScaleInfo* si):
   ITSModule("ITSScaledModule", "ITSScaledModule"),
   fNx(-1),
   fNz(-1),
   fNCx(-1),
-  fNCz(-1)
+  fNCz(-1),
+  fScaleInfo(si)
 {
-  if(fgDigitScaleInfo == 0) 
-  {
-    fgDigitScaleInfo = new DigitScaleInfo();
-  } 
-
-  fgDigitScaleInfo->IncRefCount(this);
-  fgDigitScaleInfo->Connect("ScaleChanged(Int_t)", "Alieve::ITSScaledModule", this,"LoadQuads()");
-  fgDigitScaleInfo->Connect("StatTypeChanged(Int_t)", "Alieve::ITSScaledModule", this,"SetQuadValues()");
+  si->IncRefCount(this);
+  si->Connect("ScaleChanged(Int_t)", "Alieve::ITSScaledModule", this,"LoadQuads()");
+  si->Connect("StatTypeChanged(Int_t)", "Alieve::ITSScaledModule", this,"SetQuadValues()");
   SetOwnIds(kTRUE);
 
   SetDigitsInfo(info);
@@ -88,7 +82,7 @@ ITSScaledModule::ITSScaledModule(Int_t gid, ITSDigitsInfo* info):
 
 ITSScaledModule::~ITSScaledModule()
 {
-  fgDigitScaleInfo->DecRefCount();
+  fScaleInfo->DecRefCount();
 }
 
 /**************************************************************************/
@@ -112,7 +106,7 @@ void ITSScaledModule::LoadQuads()
   ndigits = digits->GetEntriesFast();
 
   ScaledDigit* sd;
-  Int_t scale = fgDigitScaleInfo->GetScale() -1;
+  Int_t scale = fScaleInfo->GetScale() -1;
   switch(fDetID)
   {
     case 0: 
@@ -300,7 +294,7 @@ void ITSScaledModule::SetQuadValues()
   {
     ScaledDigit* sd = dynamic_cast<ScaledDigit*>(GetId(i));
     Int_t v = 0;
-    switch(fgDigitScaleInfo->GetStatType()) {
+    switch(fScaleInfo->GetStatType()) {
       case DigitScaleInfo::ST_Occup:   v = sd->N;   break;
       case DigitScaleInfo::ST_Average: v = Int_t(sd->sum/(1.* sd->N)); break;
       case DigitScaleInfo::ST_Rms:     v = Int_t(TMath::Sqrt(sd->sqr_sum)/(1.*sd->N)); break;    
index d6f27c8..a017086 100644 (file)
@@ -31,10 +31,10 @@ public:
   DigitScaleInfo();
   virtual ~DigitScaleInfo(){}
     
-  Int_t            GetScale() {return fScale;}
+  Int_t            GetScale() { return fScale; }
   void             ScaleChanged(Int_t s); //*SIGNAL*
 
-  Int_t            GetStatType() {return fStatType;}
+  Int_t            GetStatType() { return fStatType; }
   void             StatTypeChanged(Int_t t);  //*SIGNAL*
 
   ClassDef(DigitScaleInfo, 1);
@@ -79,8 +79,10 @@ protected:
   Int_t       fNCx;  // per cell
   Int_t       fNCz;
 
+  DigitScaleInfo* fScaleInfo;
+
 public:
-  ITSScaledModule(Int_t gid, ITSDigitsInfo* info);
+  ITSScaledModule(Int_t gid, ITSDigitsInfo* info, DigitScaleInfo* si );
   virtual ~ITSScaledModule();
 
   virtual void QuadSelected(Int_t idx);
@@ -88,7 +90,7 @@ public:
   virtual void LoadQuads();
   void         SetQuadValues();
 
-  static Alieve::DigitScaleInfo*  fgDigitScaleInfo;
+  DigitScaleInfo*  GetScaleInfo(){ return fScaleInfo; }
 
   ClassDef(ITSScaledModule, 1);
 }; // endclass ITSScaledModule
index 74dc85b..be149b1 100644 (file)
@@ -82,8 +82,8 @@ void ITSSDSubEditor::SetModel(ITSScaledModule* mod)
   fModule = mod;
   RGBAPaletteSubEditor::SetModel(fModule->GetPalette());
   
-  fScale->SetIntNumber(ITSScaledModule::fgDigitScaleInfo->GetScale());
-  fStatistic->Select(ITSScaledModule::fgDigitScaleInfo->GetStatType(), kFALSE);
+  fScale->SetIntNumber(fModule->GetScaleInfo()->GetScale());
+  fStatistic->Select(fModule->GetScaleInfo()->GetStatType(), kFALSE);
   
   Int_t cnx, cnz, total;
   Float_t  maxoc;
@@ -125,8 +125,8 @@ void ITSSDSubEditor::GetSubDetScaleData(Int_t& cnx, Int_t& cnz, Int_t& total, Fl
 
 void ITSSDSubEditor::SetPaletteFromDigitInfo()
 {  
-  // apply values for color palette
-  if(ITSScaledModule::fgDigitScaleInfo->fAutoUpdatePalette) 
+  // apply values for color palettefgdif
+  if(fModule->GetScaleInfo()->fAutoUpdatePalette) 
   {   
     Int_t cnx, cnz, total;
     Float_t  maxoc;
@@ -159,7 +159,7 @@ void ITSSDSubEditor::DoScale()
 
   SetPaletteFromDigitInfo();
 
-  ITSScaledModule::fgDigitScaleInfo->ScaleChanged(fScale->GetIntNumber());
+  fModule->GetScaleInfo()->ScaleChanged(fScale->GetIntNumber());
   Changed();
 }
 
@@ -170,7 +170,7 @@ void ITSSDSubEditor::DoStatType(Int_t v)
   // update palette
   SetPaletteFromDigitInfo();
 
-  ITSScaledModule::fgDigitScaleInfo->StatTypeChanged(v);
+  fModule->GetScaleInfo()->StatTypeChanged(v);
   
   Changed(); 
 }