// ------------------------------------------------------------------------------ // ----- CbmMvdSensorClusterinterpreterPlugin source file ----- // ----- Created 14.03.2012 by P.Sitzmann ----- // ------------------------------------------------------------------------------ #include #include "CbmMvdSensorClusterinterpreterPlugin.h" #include "TObjArray.h" using namespace::std; CbmMvdSensorClusterinterpreterPlugin::CbmMvdSensorClusterinterpreterPlugin() { } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin::~CbmMvdSensorClusterinterpreterPlugin() { } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin:: Inti( TObjArray Cluster) { /** Lade Cluster in ein Array um aus diesem die nötigem Variablen zu bestimmen Array enthält in jedem Eintrag alle Hits in einer Zeile, d.h. unbestimmte Zeilen länge, unbestimmte Array länge das genaue Datenformat muss noch geklärt werden!!!! ClusterArray = Cluster **/ } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin::Exec() { /** berechne X, Y werte und den Schwerpunkt. **/ Int_t length = sizeof(ClusterArray); for (Int_t i = 0; i <= length; i ++) { stateCounts = /** echte bitlänge von **/ClusterArray[i] / bitlength; lastFlags = /** Wert in**/((stateCounts - 1) * bitlength) *2 + /** Wert in**/((stateCounts - 1) * bitlength + 1); /** Berechne die Anzahl der getroffenen Pixel im letztem State**/ xCounts[i] = (stateCounts -1) * 3 + 1 + lastFlags; /** Berechne Gesamtanzahl getroffener Pixel ausgehen davon, das alle States bis auf das Letzte mit 3 Pixeln vertreten sind. **/ Y[i] = /** Bit 4 - 14 in echte Y koordinate umwandeln.**/ X[i] = /** aus Bit 18 bis 28 die X Koordinate berechnen. **/ } maxY = Y[0]; Int_t ende = sizeof(Y); minY = Y[ende]; /** myHit = FindHit(myY); **/ } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin::Finish() { } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin::GetXAt(Int_t RowNumber) { /** Ausgabe aller X werte zu einem bestimmten Y wert * * Row = RowNumber * * * von i = 0 bis i == anzahl Spalten bei Row * Ausgabe[i] = firstCol von Row + i * ***/ } // ------------------------------------------------------------------------------ CbmMvdSensorClusterinterpreterPlugin::SetChipDatas( /** different variables **/ ) { /** Laden der Chipspeziefischen Streamgrößen wie z.b. aufteilung der Bits / anzahl der Bits etc. * Nur nötig, wenn nicht 100 % sicher, das sich die MIMOSA26 aufteilung so weitergeführt wird und nicht geändert. **/ }