Index: trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.cc
===================================================================
--- trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.cc	(revision 2262)
+++ trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.cc	(revision 2268)
@@ -66,4 +66,6 @@
   fTitle = title ? title : "Collection Area vs. log10 Energy";
 
+  fEaxis = kLog10Energy;
+
   fHistAll = new TH2D;
   fHistSel = new TH2D;
@@ -93,4 +95,5 @@
   fHistCol->SetYTitle("theta [deg]");
   fHistCol->SetZTitle("A [m^{2}]");
+
 }
 
@@ -130,4 +133,15 @@
     fHistCol->Sumw2();
 
+    if (fEaxis == kEnergy)
+      {
+	fTitle = "Collection Area vs. Energy";
+	fHistCol->SetTitle(fTitle);
+	fHistAll->SetTitle("All showers - Theta vs Energy distribution");
+	fHistSel->SetTitle("Selected showers - Theta vs Energy distribution");
+	fHistCol->SetXTitle("E [GeV]");
+	fHistAll->SetXTitle("E [GeV]");
+	fHistSel->SetXTitle("E [GeV]");
+      }
+
     return kTRUE;
 }
@@ -142,5 +156,9 @@
   MMcEvt &mcevt = *(MMcEvt*)par;
 
-  fHistSel->Fill(log10(mcevt.GetEnergy()), kRad2Deg*mcevt.GetTelescopeTheta(), w);
+  if (fEaxis == kLog10Energy)
+    fHistSel->Fill(log10(mcevt.GetEnergy()), kRad2Deg*mcevt.GetTelescopeTheta(), w);
+  else
+    fHistSel->Fill(mcevt.GetEnergy(), kRad2Deg*mcevt.GetTelescopeTheta(), w);
+
   return kTRUE;
 }
@@ -193,12 +211,18 @@
 
   c.cd(1);
+  if (fEaxis == kEnergy)
+    gPad->SetLogx();
   fHistCol->SetDirectory(NULL);
   fHistCol->DrawCopy(option);
 
   c.cd(2);
+  if (fEaxis == kEnergy)
+    gPad->SetLogx();
   fHistSel->SetDirectory(NULL);
   fHistSel->DrawCopy(option);
 
   c.cd(3);
+  if (fEaxis == kEnergy)
+    gPad->SetLogx();
   fHistAll->SetDirectory(NULL);
   fHistAll->DrawCopy(option);
@@ -435,6 +459,17 @@
       for (Int_t i=1; i <= fHistAll->GetNbinsX(); i++)
 	{
-	  Float_t e1 = pow(10.,fHistAll->GetXaxis()->GetBinLowEdge(i));
-	  Float_t e2 = pow(10.,fHistAll->GetXaxis()->GetBinLowEdge(i+1));
+	  Float_t e1;
+	  Float_t e2;
+
+	  if (fEaxis == kLog10Energy)
+	    {
+	      e1 = pow(10.,fHistAll->GetXaxis()->GetBinLowEdge(i));
+	      e2 = pow(10.,fHistAll->GetXaxis()->GetBinLowEdge(i+1));
+	    }
+	  else
+	    {
+	      e1 = fHistAll->GetXaxis()->GetBinLowEdge(i);
+	      e2 = fHistAll->GetXaxis()->GetBinLowEdge(i+1);
+	    }
 
 	  Float_t events = 0.;
Index: trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.h
===================================================================
--- trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.h	(revision 2262)
+++ trunk/MagicSoft/Mars/mhistmc/MHMcCT1CollectionArea.h	(revision 2268)
@@ -5,4 +5,9 @@
 #include "MH.h"
 #endif
+
+enum {
+  kLog10Energy,
+  kEnergy
+};
 
 class TH2D;
@@ -15,4 +20,6 @@
     TH2D *fHistCol; //  the collection area
 
+    Byte_t  fEaxis;
+
 public:
     MHMcCT1CollectionArea(const char *name=NULL, const char *title=NULL);
@@ -24,4 +31,6 @@
     void DrawAll(Option_t *option="");
     void DrawSel(Option_t *option="");
+
+    void SetEaxis(Byte_t x) { fEaxis = x; }
 
     const TH2D *GetHist() const { return fHistCol; }
