#include "PamVMCGeoRotMgr.h"

PamVMCGeoRotMgr::PamVMCGeoRotMgr() {

 fdmap.Add( new TObjString("rot1"), new TGeoRotation("rot1",90.,90.,90.,180.,0.,0.));
 fdmap.Add( new TObjString("rot2"), new TGeoRotation("rot2",90.,0.,180.,90.,90.,90.));
 fdmap.Add( new TObjString("rot3"), new TGeoRotation("rot3",90.,90.,90.,360.,180.,0.));
 fdmap.Add( new TObjString("rot4"), new TGeoRotation("rot4",90.,180.,90.,270.,0.,0.));
 fdmap.Add( new TObjString("rot5"), new TGeoRotation("rot5",90.,180.,90.,90.,180.,0.));
 fdmap.Add( new TObjString("rot6"), new TGeoRotation("rot6",90.,270.,90.,360.,0.,0.));
 fdmap.Add( new TObjString("rot7"), new TGeoRotation("rot7",0.,0.,90.,90.,90.,180.));
 fdmap.Add( new TObjString("rot8"), new TGeoRotation("rot8",180.,0.,90.,90.,90.,0.));
 fdmap.Add( new TObjString("rot9"), new TGeoRotation("rot9",90.,180.,90.,90.,180.,0.));
 fdmap.Add( new TObjString("rot10"), new TGeoRotation("rot10",90.,0.,90.,270.,180.,0.));
 fdmap.Add( new TObjString("rot11"), new TGeoRotation("rot11",90.,0.,73.,90.,163.,90.)); 
 fdmap.Add( new TObjString("rot12"), new TGeoRotation("rot12",90.,180.,253.,270.,163.,270.));
 fdmap.Add( new TObjString("rot13"), new TGeoRotation("rot13",90.,270.,70.,0.,160.,0.));
 fdmap.Add( new TObjString("rot14"), new TGeoRotation("rot14",90.,90.,70.,180.,160.,180.));

} 
PamVMCGeoRotMgr * PamVMCGeoRotMgr::fgeorot = 0;

PamVMCGeoRotMgr * PamVMCGeoRotMgr::Instance(){
  if(fgeorot == 0) {
    fgeorot = new PamVMCGeoRotMgr();
  }
  return fgeorot;
}

TGeoRotation * PamVMCGeoRotMgr::GetRot(const char *name){
  return (TGeoRotation*) fdmap(name);
}
