Optimise the Cpp implementation, refactor to reduce lenght
Optimise the Cpp implementation, refactor to reduce lenght

and remove headers which are not needed.

gbitzes/root,olifre/root,bbockelm/root,pspe/root,simonpf/root,mhuwiler/rootauto,mhuwiler/rootauto,georgtroska/root,CristinaCristescu/root,bbockelm/root,bbockelm/root,CristinaCristescu/root,lgiommi/root,mhuwiler/rootauto,lgiommi/root,gganis/root,lgiommi/root,root-mirror/root,veprbl/root,Y--/root,davidlt/root,gganis/root,jrtomps/root,pspe/root,mattkretz/root,CristinaCristescu/root,mkret2/root,karies/root,sawenzel/root,CristinaCristescu/root,jrtomps/root,davidlt/root,simonpf/root,georgtroska/root,gbitzes/root,buuck/root,buuck/root,abhinavmoudgil95/root,georgtroska/root,zzxuanyuan/root-compressor-dummy,gbitzes/root,krafczyk/root,zzxuanyuan/root-compressor-dummy,krafczyk/root,krafczyk/root,esakellari/root,davidlt/root,zzxuanyuan/root-compressor-dummy,esakellari/root,olifre/root,karies/root,gganis/root,krafczyk/root,simonpf/root,gbitzes/root,gbitzes/root,veprbl/root,thomaskeck/root,sawenzel/root,satyarth934/root,karies/root,thomaskeck/root,gganis/root,olifre/root,beniz/root,beniz/root,bbockelm/root,pspe/root,buuck/root,CristinaCristescu/root,Y--/root,BerserkerTroll/root,zzxuanyuan/root-compressor-dummy,abhinavmoudgil95/root,krafczyk/root,BerserkerTroll/root,zzxuanyuan/root,BerserkerTroll/root,jrtomps/root,Y--/root,root-mirror/root,zzxuanyuan/root-compressor-dummy,mhuwiler/rootauto,bbockelm/root,veprbl/root,satyarth934/root,lgiommi/root,agarciamontoro/root,jrtomps/root,mkret2/root,krafczyk/root,mattkretz/root,davidlt/root,simonpf/root,beniz/root,bbockelm/root,georgtroska/root,sawenzel/root,agarciamontoro/root,gganis/root,BerserkerTroll/root,jrtomps/root,buuck/root,BerserkerTroll/root,abhinavmoudgil95/root,lgiommi/root,beniz/root,bbockelm/root,satyarth934/root,bbockelm/root,Y--/root,karies/root,mkret2/root,pspe/root,buuck/root,davidlt/root,beniz/root,BerserkerTroll/root,root-mirror/root,mhuwiler/rootauto,gganis/root,agarciamontoro/root,satyarth934/root,lgiommi/root,georgtroska/root,olifre/root,CristinaCristescu/root,sawenzel/root,pspe/root,beniz/root,zzxuanyuan/root,zzxuanyuan/root,gbitzes/root,beniz/root,pspe/root,root-mirror/root,root-mirror/root,mhuwiler/rootauto,davidlt/root,agarciamontoro/root,esakellari/root,mkret2/root,veprbl/root,zzxuanyuan/root-compressor-dummy,thomaskeck/root,zzxuanyuan/root,olifre/root,mhuwiler/rootauto,sawenzel/root,CristinaCristescu/root,karies/root,krafczyk/root,abhinavmoudgil95/root,davidlt/root,mhuwiler/rootauto,agarciamontoro/root,buuck/root,lgiommi/root,krafczyk/root,root-mirror/root,krafczyk/root,pspe/root,lgiommi/root,jrtomps/root,buuck/root,georgtroska/root,zzxuanyuan/root,sawenzel/root,agarciamontoro/root,simonpf/root,esakellari/root,buuck/root,BerserkerTroll/root,root-mirror/root,satyarth934/root,CristinaCristescu/root,abhinavmoudgil95/root,abhinavmoudgil95/root,georgtroska/root,zzxuanyuan/root,thomaskeck/root,karies/root,mkret2/root,gbitzes/root,Y--/root,root-mirror/root,georgtroska/root,Y--/root,thomaskeck/root,gganis/root,BerserkerTroll/root,lgiommi/root,krafczyk/root,mkret2/root,bbockelm/root,esakellari/root,simonpf/root,gbitzes/root,davidlt/root,karies/root,root-mirror/root,gganis/root,BerserkerTroll/root,zzxuanyuan/root-compressor-dummy,satyarth934/root,mattkretz/root,beniz/root,gbitzes/root,satyarth934/root,zzxuanyuan/root,mattkretz/root,Y--/root,abhinavmoudgil95/root,mkret2/root,Y--/root,sawenzel/root,thomaskeck/root,bbockelm/root,mattkretz/root,abhinavmoudgil95/root,gganis/root,veprbl/root,georgtroska/root,mattkretz/root,pspe/root,satyarth934/root,mattkretz/root,olifre/root,CristinaCristescu/root,simonpf/root,olifre/root,agarciamontoro/root,simonpf/root,satyarth934/root,gganis/root,abhinavmoudgil95/root,veprbl/root,georgtroska/root,simonpf/root,mkret2/root,zzxuanyuan/root-compressor-dummy,thomaskeck/root,gbitzes/root,esakellari/root,agarciamontoro/root,lgiommi/root,beniz/root,veprbl/root,root-mirror/root,sawenzel/root,Y--/root,abhinavmoudgil95/root,esakellari/root,jrtomps/root,mkret2/root,mattkretz/root,jrtomps/root,thomaskeck/root,zzxuanyuan/root,BerserkerTroll/root,bbockelm/root,agarciamontoro/root,mattkretz/root,zzxuanyuan/root-compressor-dummy,georgtroska/root,karies/root,zzxuanyuan/root,davidlt/root,olifre/root,zzxuanyuan/root,simonpf/root,lgiommi/root,gganis/root,Y--/root,veprbl/root,veprbl/root,satyarth934/root,agarciamontoro/root,thomaskeck/root,buuck/root,davidlt/root,zzxuanyuan/root,sawenzel/root,mhuwiler/rootauto,jrtomps/root,esakellari/root,thomaskeck/root,zzxuanyuan/root-compressor-dummy,CristinaCristescu/root,olifre/root,buuck/root,pspe/root,olifre/root,gbitzes/root,sawenzel/root,zzxuanyuan/root,Y--/root,esakellari/root,jrtomps/root,mattkretz/root,agarciamontoro/root,sawenzel/root,krafczyk/root,veprbl/root,esakellari/root,mkret2/root,mkret2/root,buuck/root,satyarth934/root,karies/root,root-mirror/root,karies/root,zzxuanyuan/root-compressor-dummy,veprbl/root,mhuwiler/rootauto,beniz/root,pspe/root,pspe/root,CristinaCristescu/root,beniz/root,mhuwiler/rootauto,karies/root,olifre/root,mattkretz/root,BerserkerTroll/root,abhinavmoudgil95/root,simonpf/root,jrtomps/root,esakellari/root,davidlt/root