On 11 Nov, 2013, at 5:28 PM, Chris Jones <notifications@github.com> wrote:

> In Geometry/CaloGeometry/interface/CaloCellGeometry.h:
> 
> >  private:
> >    GlobalPoint         m_refPoint ;
> > +  mutable GlobalPoint         m_backPoint ;
> 
> Do these really have to be mutable? They don't really seem to be caches since you can call 'getBackPoint()' at any time and get some value which hasn't been set yet.
> 
Agree that is a mess.
It is consistent with the current release code.

technically it still the case as depends on the “corners” that are mutable because in the past created on demands by getCorners() which is virtual and so not callble by base-class constructor.

In the present implementation I force getCorners to be called in the children’s constructor. so everything is safe now even if even more messy.
It easy to make it fully consistent and const
it needs modification of all the children and of the builder.
The whole construction of this calo-geometry need to be changed in my opinion to make the base class more robust and self consistent.

But Calo Geometry It is in whole flux because of the upgrade, so I am afraid to step on changes coming from the upgrade.

Yana can have a look at some point

v.