ROBAST logo
ROBAST » INCLUDE » AMirror

class AMirror: public AOpticalComponent


 AMirror

 Mirror class


Function Members (Methods)

public:
virtual~AMirror()
voidTObject::AbstractMethod(const char* method) const
voidAOpticalComponent::AddBorderSurfaceCondition(ABorderSurfaceCondition* condition)
virtual voidTGeoVolume::AddNode(TGeoVolume* vol, Int_t copy_no, TGeoMatrix* mat = 0, Option_t* option = "")
voidTGeoVolume::AddNodeOffset(TGeoVolume* vol, Int_t copy_no, Double_t offset = 0, Option_t* option = "")
virtual voidTGeoVolume::AddNodeOverlap(TGeoVolume* vol, Int_t copy_no, TGeoMatrix* mat = 0, Option_t* option = "")
AMirror()
AMirror(const AMirror&)
AMirror(const char* name, const TGeoShape* shape, const TGeoMedium* med = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTGeoVolume::Browse(TBrowser* b)
Double_tTGeoVolume::Capacity() const
virtual voidTGeoVolume::cd(Int_t inode) const
ULong_tTObject::CheckedHash()
voidTGeoVolume::CheckGeometry(Int_t nrays = 1, Double_t startx = 0, Double_t starty = 0, Double_t startz = 0) const
voidTGeoVolume::CheckOverlaps(Double_t ovlp = 0.10000000000000001, Option_t* option = "") constMENU
voidTGeoVolume::CheckShape(Int_t testNo, Int_t nsamples = 10000, Option_t* option = "")MENU
voidTGeoVolume::CheckShapes()
static TClass*Class()
virtual const char*TObject::ClassName() const
voidTGeoVolume::CleanAll()
virtual voidTNamed::Clear(Option_t* option = "")
voidTGeoVolume::ClearNodes()
voidTGeoVolume::ClearShape()
virtual voidTGeoVolume::ClearThreadData() const
virtual TObject*TNamed::Clone(const char* newname = "") const
voidTGeoVolume::CloneNodesAndConnect(TGeoVolume* newmother) const
virtual TGeoVolume*TGeoVolume::CloneVolume() const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tTGeoVolume::Contains(const Double_t* point) const
virtual voidTNamed::Copy(TObject& named) const
Int_tTGeoVolume::CountNodes(Int_t nlevels = 1000, Int_t option = 0)
static voidTGeoVolume::CreateDummyMedium()
virtual voidTGeoVolume::CreateThreadData(Int_t nthreads)
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTGeoVolume::DistancetoPrimitive(Int_t px, Int_t py)
virtual TGeoVolume*TGeoVolume::Divide(const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed = 0, Option_t* option = "")
virtual voidTGeoVolume::Draw(Option_t* option = "")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTGeoVolume::DrawOnly(Option_t* option = "")MENU
static TGeoMedium*TGeoVolume::DummyMedium()
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTGeoVolume::ExecuteEvent(Int_t event, Int_t px, Int_t py)
Int_tTGeoVolume::Export(const char* filename, const char* name = "", Option_t* option = "")
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
ABorderSurfaceCondition*AOpticalComponent::FindBorderSurfaceCondition(AOpticalComponent* component2)
Bool_tTGeoVolume::FindMatrixOfDaughterVolume(TGeoVolume* vol) const
TGeoNode*TGeoVolume::FindNode(const char* name) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidTGeoVolume::FindOverlaps() const
virtual Int_tTGeoVolume::GetByteCount() const
virtual Int_tTGeoVolume::GetCurrentNodeIndex() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TObject*TGeoVolume::GetField() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TGeoPatternFinder*TGeoVolume::GetFinder() const
TGeoExtension*TGeoVolume::GetFWExtension() const
TGeoManager*TGeoVolume::GetGeoManager() const
virtual const char*TGeoVolume::GetIconName() const
Int_tTGeoVolume::GetIndex(const TGeoNode* node) const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TGeoMaterial*TGeoVolume::GetMaterial() const
TGeoMedium*TGeoVolume::GetMedium() const
virtual const char*TNamed::GetName() const
Int_tTGeoVolume::GetNdaughters() const
virtual Int_tTGeoVolume::GetNextNodeIndex() const
TGeoNode*TGeoVolume::GetNode(const char* name) const
TGeoNode*TGeoVolume::GetNode(Int_t i) const
Int_tTGeoVolume::GetNodeIndex(const TGeoNode* node, Int_t* check_list, Int_t ncheck) const
TObjArray*TGeoVolume::GetNodes()
Int_tTGeoVolume::GetNtotal() const
Int_tTGeoVolume::GetNumber() const
virtual char*TGeoVolume::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
TGeoMaterial*AOpticalComponent::GetOpaqueVacuumMaterial() const
TGeoMedium*AOpticalComponent::GetOpaqueVacuumMedium() const
Bool_tTGeoVolume::GetOptimalVoxels() const
virtual Option_t*TGeoVolume::GetOption() const
char*TGeoVolume::GetPointerName() const
Int_tTGeoVolume::GetRefCount() const
Double_tGetReflectance(Double_t lambda, Double_t angle)
TGeoShape*TGeoVolume::GetShape() const
virtual const char*TNamed::GetTitle() const
Char_tTGeoVolume::GetTransparency() const
TGeoMaterial*AOpticalComponent::GetTransparentVacuumMaterial() const
TGeoMedium*AOpticalComponent::GetTransparentVacuumMedium() const
virtual UInt_tTObject::GetUniqueID() const
TGeoExtension*TGeoVolume::GetUserExtension() const
TGeoVoxelFinder*TGeoVolume::GetVoxels() const
voidTGeoVolume::Grab()
voidTGeoVolume::GrabFocus()MENU
TGeoExtension*TGeoVolume::GrabFWExtension() const
TGeoExtension*TGeoVolume::GrabUserExtension() const
voidTGeoVolume::Gsord(Int_t)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
Bool_tTObject::HasInconsistentHash() const
static TGeoVolume*TGeoVolume::Import(const char* filename, const char* name = "", Option_t* option = "")
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTGeoVolume::InspectMaterial() constMENU
voidTGeoVolume::InspectShape() constMENU
voidTObject::InvertBit(UInt_t f)
voidTGeoVolume::InvisibleAll(Bool_t flag = kTRUE)TOGGLE GETTER
virtual TClass*IsA() const
Bool_tTGeoVolume::IsActive() const
Bool_tTGeoVolume::IsActiveDaughters() const
Bool_tTGeoVolume::IsAdded() const
Bool_tTGeoVolume::IsAllInvisible() const
virtual Bool_tTGeoVolume::IsAssembly() const
Bool_tTGeoVolume::IsCylVoxels() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTGeoVolume::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tTGeoVolume::IsOverlappingCandidate() const
Bool_tTGeoVolume::IsRaytracing() const
Bool_tTGeoVolume::IsReplicated() const
Bool_tTGeoVolume::IsRunTime() const
Bool_tTGeoVolume::IsSelected() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTGeoVolume::IsStyleDefault() const
Bool_tTGeoVolume::IsTopVolume() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTGeoVolume::IsValid() const
Bool_tTGeoAtt::IsVisBranch() const
Bool_tTGeoVolume::IsVisContainers() const
Bool_tTGeoAtt::IsVisDaughters() const
virtual Bool_tTGeoVolume::IsVisible() const
Bool_tTGeoVolume::IsVisibleDaughters() const
Bool_tTGeoVolume::IsVisLeaves() const
Bool_tTGeoVolume::IsVisOnly() const
Bool_tTGeoAtt::IsVisRaytrace() const
Bool_tTGeoAtt::IsVisStreamed() const
Bool_tTGeoAtt::IsVisTouched() const
virtual Bool_tTGeoVolume::IsVolumeMulti() const
Bool_tTGeoVolume::IsXYZVoxels() const
Bool_tTObject::IsZombie() const
TH2F*TGeoVolume::LegoPlot(Int_t ntheta = 20, Double_t themin = 0., Double_t themax = 180., Int_t nphi = 60, Double_t phimin = 0., Double_t phimax = 360., Double_t rmin = 0., Double_t rmax = 9999999, Option_t* option = "")MENU
virtual voidTNamed::ls(Option_t* option = "") const
voidTGeoVolume::MakeCopyNodes(const TGeoVolume* other)
virtual TGeoVolume*TGeoVolume::MakeCopyVolume(TGeoShape* newshape)
TGeoVolume*TGeoVolume::MakeReflectedVolume(const char* newname = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AMirror&operator=(const AMirror&)
Bool_tTGeoVolume::OptimizeVoxels()MENU
virtual voidTGeoVolume::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTGeoVolume::Print(Option_t* option = "") constMENU
voidTGeoVolume::PrintNodes() const
voidTGeoVolume::PrintVoxels() constMENU
voidTGeoVolume::RandomPoints(Int_t npoints = 1000000, Option_t* option = "")MENU
voidTGeoVolume::RandomRays(Int_t nrays = 10000, Double_t startx = 0, Double_t starty = 0, Double_t startz = 0, const char* target_vol = 0, Bool_t check_norm = kFALSE)MENU
voidTGeoVolume::Raytrace(Bool_t flag = kTRUE)TOGGLE GETTER
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTGeoVolume::RegisterYourself(Option_t* option = "")
voidTGeoVolume::Release()
voidTGeoVolume::RemoveNode(TGeoNode* node)
TGeoNode*TGeoVolume::ReplaceNode(TGeoNode* nodeorig, TGeoShape* newshape = 0, TGeoMatrix* newpos = 0, TGeoMedium* newmed = 0)
voidTGeoVolume::ReplayCreation(const TGeoVolume* other)
voidTGeoAtt::ResetAttBit(UInt_t f)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTGeoVolume::SaveAs(const char* filename, Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTGeoVolume::SavePrimitive(ostream& out, Option_t* option = "")
voidTGeoVolume::SelectVolume(Bool_t clear = kFALSE)
voidTGeoVolume::SetActiveDaughters(Bool_t flag = kTRUE)
voidTGeoVolume::SetActivity(Bool_t flag = kTRUE)
voidTGeoVolume::SetAdded()
voidTGeoVolume::SetAsTopVolume()TOGGLE GETTER
voidTGeoAtt::SetAttBit(UInt_t f)
voidTGeoAtt::SetAttBit(UInt_t f, Bool_t set)
voidTGeoVolume::SetAttVisibility(Bool_t vis)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTGeoVolume::SetCurrentPoint(Double_t x, Double_t y, Double_t z)
voidTGeoVolume::SetCylVoxels(Bool_t flag = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTGeoVolume::SetField(TObject* field)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidTGeoVolume::SetFinder(TGeoPatternFinder* finder)
voidTGeoVolume::SetFWExtension(TGeoExtension* ext)
voidTGeoVolume::SetInvisible()
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTGeoVolume::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineColorAlpha(Color_t lcolor, Float_t lalpha)
virtual voidTGeoVolume::SetLineStyle(Style_t lstyle)
virtual voidTGeoVolume::SetLineWidth(Width_t lwidth)
virtual voidTGeoVolume::SetMedium(TGeoMedium* medium)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidTGeoVolume::SetNodes(TObjArray* nodes)
voidTGeoVolume::SetNtotal(Int_t ntotal)
voidTGeoVolume::SetNumber(Int_t number)
static voidTObject::SetObjectStat(Bool_t stat)
voidTGeoAtt::SetOptimization(Option_t* option)
voidTGeoVolume::SetOption(const char* option)
voidTGeoVolume::SetOverlappingCandidate(Bool_t flag)
voidSetReflectance(Double_t ref)
voidSetReflectance(shared_ptr<const TGraph> ref)
voidSetReflectance(shared_ptr<TH2> ref)
voidSetReflectance(shared_ptr<TGraph2D> ref)
voidTGeoVolume::SetReplicated()
voidTGeoVolume::SetShape(const TGeoShape* shape)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidTGeoVolume::SetTransparency(Char_t transparency = 0)MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTGeoVolume::SetUserExtension(TGeoExtension* ext)
voidTGeoAtt::SetVisBranch()
virtual voidTGeoVolume::SetVisContainers(Bool_t flag = kTRUE)TOGGLE GETTER
voidTGeoAtt::SetVisDaughters(Bool_t vis = kTRUE)
virtual voidTGeoVolume::SetVisibility(Bool_t vis = kTRUE)TOGGLE GETTER
virtual voidTGeoVolume::SetVisLeaves(Bool_t flag = kTRUE)TOGGLE GETTER
virtual voidTGeoVolume::SetVisOnly(Bool_t flag = kTRUE)TOGGLE GETTER
voidTGeoAtt::SetVisRaytrace(Bool_t flag = kTRUE)
voidTGeoAtt::SetVisStreamed(Bool_t vis = kTRUE)
voidTGeoAtt::SetVisTouched(Bool_t vis = kTRUE)
voidTGeoVolume::SetVoxelFinder(TGeoVoxelFinder* finder)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() const
virtual voidTAtt3D::Sizeof3D() const
voidTGeoVolume::SortNodes()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTGeoAtt::TestAttBit(UInt_t f) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTGeoVolume::UnmarkSaved()
virtual voidTObject::UseCurrentStyle()
Bool_tTGeoVolume::Valid() const
voidTGeoVolume::VisibleDaughters(Bool_t vis = kTRUE)TOGGLE GETTER
voidTGeoVolume::Voxelize(Option_t* option)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
Double_tTGeoVolume::Weight(Double_t precision = 0.01, Option_t* option = "va")MENU
Double_tTGeoVolume::WeightA() const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
virtual Bool_tCheckTObjectHashConsistency() const

Data Members

public:
static TGeoAtt::EGeoActivityAttTGeoAtt::kActDaughters
static TGeoAtt::EGeoActivityAttTGeoAtt::kActNone
static TGeoAtt::EGeoActivityAttTGeoAtt::kActOverride
static TGeoAtt::EGeoActivityAttTGeoAtt::kActThis
static TObject::(anonymous)TObject::kBitMask
static TGeoAtt::(anonymous)TGeoAtt::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::(anonymous)TObject::kInconsistent
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EDeprecatedStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TGeoAtt::EGeoSavePrimitiveAttTGeoAtt::kSaveNodesAtt
static TGeoAtt::EGeoSavePrimitiveAttTGeoAtt::kSavePrimitiveAtt
static TObject::(anonymous)TObject::kSingleKey
static TGeoAtt::EGeoOptimizationAttTGeoAtt::kUseBoundingBox
static TGeoAtt::EGeoOptimizationAttTGeoAtt::kUseGsord
static TGeoAtt::EGeoOptimizationAttTGeoAtt::kUseVoxels
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisBranch
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisContainers
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisDaughters
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisNone
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisOnScreen
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisOneLevel
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisOnly
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisOverride
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisRaytrace
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisStreamed
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisThis
static TGeoAtt::EGeoVisibilityAttTGeoAtt::kVisTouched
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeAdded
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeClone
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeDiv
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeImportNodes
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeMulti
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeOC
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeOverlap
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeReplicated
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVolumeSelected
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVoxelsCyl
static TGeoVolume::EGeoVolumeTypesTGeoVolume::kVoxelsXYZ
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TGeoExtension*TGeoVolume::fFWExtension! Transient framework-defined extension to volumes
TObject*TGeoVolume::fField! just a hook for now
Color_tTAttFill::fFillColorFill area color
Style_tTAttFill::fFillStyleFill area style
TGeoPatternFinder*TGeoVolume::fFinderfinder object for divisions
UInt_tTGeoAtt::fGeoAttoption flags
TGeoManager*TGeoVolume::fGeoManager! pointer to TGeoManager owning this volume
Color_tTAttLine::fLineColorLine color
Style_tTAttLine::fLineStyleLine style
Width_tTAttLine::fLineWidthLine width
TGeoMedium*TGeoVolume::fMediumtracking medium
TStringTNamed::fNameobject identifier
TObjArray*TGeoVolume::fNodesarray of nodes inside this volume
Int_tTGeoVolume::fNtotaltotal number of physical nodes
Int_tTGeoVolume::fNumbervolume serial number in the list of volumes
TStringTGeoVolume::fOption! option - if any
Int_tTGeoVolume::fRefCountreference counter
TGeoShape*TGeoVolume::fShapeshape
TStringTNamed::fTitleobject title
TGeoExtension*TGeoVolume::fUserExtension! Transient user-defined extension to volumes
TGeoVoxelFinder*TGeoVolume::fVoxelsfinder object for bounding boxes
static TGeoMedium*TGeoVolume::fgDummyMedium! dummy medium
private:
Double_tfReflectance
shared_ptr<const TGraph>fReflectance1DReflectance data (ref v.s. wavelength)
shared_ptr<TGraph2D>fReflectance2DReflectance data (ref v.s. angle v.s. wavelength)
shared_ptr<TH2>fReflectanceTH2Reflectance data (ref v.s. angle v.s. wavelength)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

AMirror()
 Default constructor
AMirror(const char* name, const TGeoShape* shape, const TGeoMedium* med = 0)
~AMirror()
{}
Double_t GetReflectance(Double_t lambda, Double_t angle)
 Return mirror reflectance for a photon whose wavelength is lambda, and
 whose incident angle is "angle" (rad)
 This method should be const but TGraph2D::Interpolate and TH2::Interpolate
 are non-const methods.
AMirror()
void SetReflectance(Double_t ref)
{ fReflectance = ref; }
void SetReflectance(shared_ptr<const TGraph> ref)
{ fReflectance1D = ref; }
void SetReflectance(shared_ptr<TH2> ref)
{ fReflectanceTH2 = ref; }
void SetReflectance(shared_ptr<TGraph2D> ref)
{ fReflectance2D = ref; }